Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
inzagi1 Gost
|
|
[Vrh] |
|
Unnamed One Forumaš(ica)

Pridružen/a: 23. 06. 2005. (22:09:33) Postovi: (3C)16
|
Postano: 19:54 sub, 22. 4. 2006 Naslov: |
|
|
Implementacija pomoću kursora se zasniva na tome da imamo jedno globalno polje (SPACE[]) čiji je svaki element struct koji se sastoji od 2 dijela: podatka tipa elementtype i kursora (int).
Dakle, na početku deklariraš neko globalno polje tipa celltype:
struct celltype{
elementtype element;
int next;
} SPACE[MAX];
Kako su na početku još sve ćelije tog polja slobodne možeš definirati nekakav int available da je jednak 0, a u SPACE[i].next upišeš i+1 pa ona pokazuje na susjednu ćeliju.
Razlika u odnosu na implementaciju liste preko polja je u tome da u to globalno polje možeš strpati više od jedne liste - nije bitno jesu li elementi te liste (lista) na fizički susjednim lokacijama ili nisu. Na početku, kad imaš prazno SPACE polje, i ako je SPACE[i]==i+1 naravno da će se elementi neke liste koju strpaš u polje spremiti na susjednim lokacijama polja SPACE, ali kasnije kad izbaciš 22. element liste onda će na tom mjestu u SPACE biti slobodna ćelija u koju će se možda ubaciti element neke druge liste...
Jasnije?
Implementacija pomoću kursora se zasniva na tome da imamo jedno globalno polje (SPACE[]) čiji je svaki element struct koji se sastoji od 2 dijela: podatka tipa elementtype i kursora (int).
Dakle, na početku deklariraš neko globalno polje tipa celltype:
struct celltype{
elementtype element;
int next;
} SPACE[MAX];
Kako su na početku još sve ćelije tog polja slobodne možeš definirati nekakav int available da je jednak 0, a u SPACE[i].next upišeš i+1 pa ona pokazuje na susjednu ćeliju.
Razlika u odnosu na implementaciju liste preko polja je u tome da u to globalno polje možeš strpati više od jedne liste - nije bitno jesu li elementi te liste (lista) na fizički susjednim lokacijama ili nisu. Na početku, kad imaš prazno SPACE polje, i ako je SPACE[i]==i+1 naravno da će se elementi neke liste koju strpaš u polje spremiti na susjednim lokacijama polja SPACE, ali kasnije kad izbaciš 22. element liste onda će na tom mjestu u SPACE biti slobodna ćelija u koju će se možda ubaciti element neke druge liste...
Jasnije?
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
Unnamed One Forumaš(ica)

Pridružen/a: 23. 06. 2005. (22:09:33) Postovi: (3C)16
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
Unnamed One Forumaš(ica)

Pridružen/a: 23. 06. 2005. (22:09:33) Postovi: (3C)16
|
|
[Vrh] |
|
|