Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Implementacija QUEUE, STACK, LIST
WWW:
Idite na 1, 2  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Strukture podataka i algoritmi
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
markotron
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2008. (12:07:29)
Postovi: (95)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 28 - 28
Lokacija: Umag

PostPostano: 11:28 ned, 25. 10. 2009    Naslov: Implementacija QUEUE, STACK, LIST Citirajte i odgovorite

Implementirao sam pomoću pokazivača ATP-ove QUEUE, STACK i LIST.
Pa možda nekom pomogne pri učenju algoritama. Ako želite koristiti funkcije koje sam napisao, jednostavno pejstajte file tamo gdje se nalazi vaš i includajte ga u programu.

npr. #include "ATP_STACK.c"

Pokušao sam napraviti kao header file ali nisam uspio. Ne znam sto trebam napraviti. U ATP_STACK.h sam napisao sve deklaracije, ali ne znam što sad moram napravit da to dalje radi. Uvijek mi javlja linker error. Ako netko zna neka pomaže. :D Hvala

Nadam se da smijem staviti implementacije na forum. :)

Pozdrav.



[color=blue][b]Moderator:[/b] Uklonjeni attachmenti jer sadrže zadatke koji se ocjenjuju.[/color]
Implementirao sam pomoću pokazivača ATP-ove QUEUE, STACK i LIST.
Pa možda nekom pomogne pri učenju algoritama. Ako želite koristiti funkcije koje sam napisao, jednostavno pejstajte file tamo gdje se nalazi vaš i includajte ga u programu.

npr. #include "ATP_STACK.c"

Pokušao sam napraviti kao header file ali nisam uspio. Ne znam sto trebam napraviti. U ATP_STACK.h sam napisao sve deklaracije, ali ne znam što sad moram napravit da to dalje radi. Uvijek mi javlja linker error. Ako netko zna neka pomaže. Very Happy Hvala

Nadam se da smijem staviti implementacije na forum. Smile

Pozdrav.



Moderator: Uklonjeni attachmenti jer sadrže zadatke koji se ocjenjuju.



_________________
reductio ad absurdum
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 13:29 ned, 25. 10. 2009    Naslov: Re: Implementacija QUEUE, STACK, LIST Citirajte i odgovorite

[quote="markotron"]
Pokušao sam napraviti kao header file ali nisam uspio. Ne znam sto trebam napraviti. U ATP_STACK.h sam napisao sve deklaracije, ali ne znam što sad moram napravit da to dalje radi. Uvijek mi javlja linker error. Ako netko zna neka pomaže. :D Hvala
[/quote]

U devcpp-u:
napravit project,
napravit .h sa deklaracijama, i prototipovima fja,
ono što imaš u .h maknut iz .c (implementacije), da se ne kolje (npr typedef i slično)
u program sa mainom i u tvoju implementaciju includat .h napravljen gore
sva 3 filea ubacit u project

na ubuntuu:
sve isto kod izrade .h filea, i onda kod kompajliranja navest sve fileove koji trebaju, dakle nešto oblika:
gcc main.c implementacija.c -o p
markotron (napisa):

Pokušao sam napraviti kao header file ali nisam uspio. Ne znam sto trebam napraviti. U ATP_STACK.h sam napisao sve deklaracije, ali ne znam što sad moram napravit da to dalje radi. Uvijek mi javlja linker error. Ako netko zna neka pomaže. Very Happy Hvala


U devcpp-u:
napravit project,
napravit .h sa deklaracijama, i prototipovima fja,
ono što imaš u .h maknut iz .c (implementacije), da se ne kolje (npr typedef i slično)
u program sa mainom i u tvoju implementaciju includat .h napravljen gore
sva 3 filea ubacit u project

na ubuntuu:
sve isto kod izrade .h filea, i onda kod kompajliranja navest sve fileove koji trebaju, dakle nešto oblika:
gcc main.c implementacija.c -o p



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Zvone
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 01. 07. 2003. (13:09:44)
Postovi: (9D)16
Sarma = la pohva - posuda
67 = 74 - 7

PostPostano: 8:57 pon, 26. 10. 2009    Naslov: Citirajte i odgovorite

Iako je namjera plemenita ;), zamolio bih vas da ne stavljate gotova rješenja na forum.
Zadaće iz SPA se ocjenjuju, a ovi attachmenti možda nekome daju skoro pa gotovu implementaciju zadatka kojeg bi sam trebao napraviti.

Ako već želite pomoći, možete stavljati rješenja od npr. zadataka za vježbu za prvi kolokvij, ali ne od nečeg što se boduje za ocjenu.

-----
Zvonimir Bujanović
Iako je namjera plemenita Wink, zamolio bih vas da ne stavljate gotova rješenja na forum.
Zadaće iz SPA se ocjenjuju, a ovi attachmenti možda nekome daju skoro pa gotovu implementaciju zadatka kojeg bi sam trebao napraviti.

Ako već želite pomoći, možete stavljati rješenja od npr. zadataka za vježbu za prvi kolokvij, ali ne od nečeg što se boduje za ocjenu.

-----
Zvonimir Bujanović


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Tygy
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2008. (15:27:08)
Postovi: (102)16
Sarma = la pohva - posuda
= 17 - 14

PostPostano: 16:41 pon, 26. 10. 2009    Naslov: Citirajte i odgovorite

:kuku:
ja sam htjela ono vidjeti !!!!!
Kuku-lele!!!
ja sam htjela ono vidjeti !!!!!


[Vrh]
Korisnički profil Pošaljite privatnu poruku
markotron
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2008. (12:07:29)
Postovi: (95)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 28 - 28
Lokacija: Umag

PostPostano: 22:26 pon, 26. 10. 2009    Naslov: Citirajte i odgovorite

Eh.. i mislio sam da ce se tako nesto desiti.

Mislio sam da nece biti takvi zadaci jer je to samo ono sto pise u skripti. Ispricavam se.
Eh.. i mislio sam da ce se tako nesto desiti.

Mislio sam da nece biti takvi zadaci jer je to samo ono sto pise u skripti. Ispricavam se.



_________________
reductio ad absurdum
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
markotron
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2008. (12:07:29)
Postovi: (95)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 28 - 28
Lokacija: Umag

PostPostano: 18:32 sub, 31. 10. 2009    Naslov: Citirajte i odgovorite

Imam jedno pitanje pa da ne otvaram novu temu

Dakle, zanima me ukoliko imam dva pokazivaca ptr1 i ptr2 koji pokazuju na istu stvar.

ako napisem free( ptr2 ) hoce li ptr1 pokazivati na null?

to me zanima jer ukoliko zelim implementirati funkciju DELETE kod binarnih stabla, ona brise node i, moram li stavit PARENT(i, T).leftchild = NULL pa onda free( i ) ili je dovoljno samo free ( i ).

Hvala
Imam jedno pitanje pa da ne otvaram novu temu

Dakle, zanima me ukoliko imam dva pokazivaca ptr1 i ptr2 koji pokazuju na istu stvar.

ako napisem free( ptr2 ) hoce li ptr1 pokazivati na null?

to me zanima jer ukoliko zelim implementirati funkciju DELETE kod binarnih stabla, ona brise node i, moram li stavit PARENT(i, T).leftchild = NULL pa onda free( i ) ili je dovoljno samo free ( i ).

Hvala



_________________
reductio ad absurdum
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 18:35 sub, 31. 10. 2009    Naslov: Citirajte i odgovorite

Ne, [tt]free()[/tt] samo oslobodi memoriju. Ako malo pogledas, poziv je
[tt]free(ptr);[/tt]
C-ovske funkcije mogu mijenjati ono na sto [tt]ptr[/tt] pokazuje, ali ne mogu mijenjati sam [tt]ptr[/tt] (prijenos po vrijednosti, a ne po referenci), ne? ;)
Ne, free() samo oslobodi memoriju. Ako malo pogledas, poziv je
free(ptr);
C-ovske funkcije mogu mijenjati ono na sto ptr pokazuje, ali ne mogu mijenjati sam ptr (prijenos po vrijednosti, a ne po referenci), ne? Wink



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
tidus
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 16. 02. 2009. (12:47:59)
Postovi: (A5)16
Spol: muško
Sarma = la pohva - posuda
-1 = 15 - 16

PostPostano: 19:27 sub, 31. 10. 2009    Naslov: Citirajte i odgovorite

[quote="vsego"]Ne, [tt]free()[/tt] samo oslobodi memoriju. Ako malo pogledas, poziv je
[tt]free(ptr);[/tt]
C-ovske funkcije mogu mijenjati ono na sto [tt]ptr[/tt] pokazuje, ali ne mogu mijenjati sam [tt]ptr[/tt] (prijenos po vrijednosti, a ne po referenci), ne? ;)[/quote]

Nisam baš shvatio. Na što će pokazivati ptr1 i ptr2 nakon free()?
vsego (napisa):
Ne, free() samo oslobodi memoriju. Ako malo pogledas, poziv je
free(ptr);
C-ovske funkcije mogu mijenjati ono na sto ptr pokazuje, ali ne mogu mijenjati sam ptr (prijenos po vrijednosti, a ne po referenci), ne? Wink


Nisam baš shvatio. Na što će pokazivati ptr1 i ptr2 nakon free()?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
markotron
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2008. (12:07:29)
Postovi: (95)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 28 - 28
Lokacija: Umag

PostPostano: 20:15 sub, 31. 10. 2009    Naslov: Citirajte i odgovorite

Sto tocno znaci oslobodit memoriju?

Zasto ako mi ptr1 i ptr2 pokazuju na dio memorije u kojoj pise 2, i ako napisem free( ptr2 ), zasto mi *ptr1 = 0?

Sta free napravi?

[size=9][color=#999999]Added after 11 minutes:[/color][/size]

Jos jedna stvar mi nije jasna.

Sto tocno radi funkcija LEFT_SUBTREE?

Ona ne kopira cijelo podstablo u neko drugo stablo. Vec samo pokazivac drugog stabla preusmjeri na leftchild od prvog stabla??

Dakle ako imam neki BTREE B i BL
i napisem LEFT_SUBTREE( B, &BL );
ukoliko mjenjam nesto u BL-u to ce se promjeniti i u B-u? Mislim moralo bi jer inace nebi mogli tu funkciju implementirat slozenoscu O(1), a ako je tako onda se kosi sa onim sto je asistent rekao na vjezbama.

Hvala
Sto tocno znaci oslobodit memoriju?

Zasto ako mi ptr1 i ptr2 pokazuju na dio memorije u kojoj pise 2, i ako napisem free( ptr2 ), zasto mi *ptr1 = 0?

Sta free napravi?

Added after 11 minutes:

Jos jedna stvar mi nije jasna.

Sto tocno radi funkcija LEFT_SUBTREE?

Ona ne kopira cijelo podstablo u neko drugo stablo. Vec samo pokazivac drugog stabla preusmjeri na leftchild od prvog stabla??

Dakle ako imam neki BTREE B i BL
i napisem LEFT_SUBTREE( B, &BL );
ukoliko mjenjam nesto u BL-u to ce se promjeniti i u B-u? Mislim moralo bi jer inace nebi mogli tu funkciju implementirat slozenoscu O(1), a ako je tako onda se kosi sa onim sto je asistent rekao na vjezbama.

Hvala



_________________
reductio ad absurdum
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3560)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 21:17 sub, 31. 10. 2009    Naslov: Citirajte i odgovorite

Nakon [tt]free(ptr1)[/tt], [tt]ptr1[/tt] pokazuje na isto na sto je pokazivao i prije, ali ta memorija vise ne pripada programu. Ti mozes nesto unutra zapisati, no ne smijes, jer to u bilo kojem trenu moze drugi program izmijeniti.

Zasto ti nakon [tt]free(ptr1)[/tt] bude [tt]*ptr1 == 0[/tt], ne znam. Moze biti i do operacijskog sustava; standard, koliko znam, nista ne kaze o tome, niti je bitno sto se desi s tom vrijednoscu (jer ju ionako [b]ne smijes[/b] koristiti; vise ne "pripada" tvom programu!).

Ja sam malo experimentirao i stvarno nekad ispadne nula, ali ispadala mi je i slucajna vrijednost. Vidi ovdje (isprobano na Linuxu):
$ echo "Program:"; cat t.c; echo "Output programa:"; gcc t.c && ./a.out
Program:
#include <stdio.h>
#include <stdlib.h>

int main(void) {
int *ptr1, *ptr2, *ptr3;

printf("1. (%u, %u, %u) -> (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);
ptr1 = (int*)malloc(sizeof(int)); *ptr1 = 13;
ptr2 = (int*)malloc(sizeof(int)); *ptr2 = 17;
ptr3 = (int*)malloc(sizeof(int)); *ptr3 = 19;
printf("2. (%u, %u, %u) -> (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);
free(ptr1); free(ptr2); free(ptr3);
printf("3. (%u, %u, %u) -> (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);

return 0;
}
Output programa:
1. (3220618248, 134514057, 3741392) -> (-1074348952, -14632051, 1474660693)
2. (156815368, 156815384, 156815400) -> (13, 17, 19)
3. (156815368, 156815384, 156815400) -> (0, 156815360, 156815376)[/code]
Nakon free(ptr1), ptr1 pokazuje na isto na sto je pokazivao i prije, ali ta memorija vise ne pripada programu. Ti mozes nesto unutra zapisati, no ne smijes, jer to u bilo kojem trenu moze drugi program izmijeniti.

Zasto ti nakon free(ptr1) bude *ptr1 == 0, ne znam. Moze biti i do operacijskog sustava; standard, koliko znam, nista ne kaze o tome, niti je bitno sto se desi s tom vrijednoscu (jer ju ionako ne smijes koristiti; vise ne "pripada" tvom programu!).

Ja sam malo experimentirao i stvarno nekad ispadne nula, ali ispadala mi je i slucajna vrijednost. Vidi ovdje (isprobano na Linuxu):
$ echo "Program:"; cat t.c; echo "Output programa:"; gcc t.c && ./a.out
Program:
#include <stdio.h>
#include <stdlib.h>

int main(void) {
int *ptr1, *ptr2, *ptr3;

printf("1. (%u, %u, %u) → (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);
ptr1 = (int*)malloc(sizeof(int)); *ptr1 = 13;
ptr2 = (int*)malloc(sizeof(int)); *ptr2 = 17;
ptr3 = (int*)malloc(sizeof(int)); *ptr3 = 19;
printf("2. (%u, %u, %u) → (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);
free(ptr1); free(ptr2); free(ptr3);
printf("3. (%u, %u, %u) → (%d, %d, %d)\n", ptr1, ptr2, ptr3, *ptr1, *ptr2, *ptr3);

return 0;
}
Output programa:
1. (3220618248, 134514057, 3741392) → (-1074348952, -14632051, 1474660693)
2. (156815368, 156815384, 156815400) → (13, 17, 19)
3. (156815368, 156815384, 156815400) → (0, 156815360, 156815376)[/code]



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
piko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 10. 2009. (18:20:25)
Postovi: (26)16
Sarma = la pohva - posuda
= 4 - 0

PostPostano: 23:35 sub, 31. 10. 2009    Naslov: Citirajte i odgovorite

kako je u naslovu QUEUE imam par pitanja o njemu, pa da ne otvaram novi topic...

zbunjuje me, ako cijelu implementaciju treba napraviti točno kao u [url=http://web.math.hr/nastava/spa/files/salabahter.pdf]šalabahteru[/url], onda za QUEUE imamo 2 tipa podataka i 5 funkcija.
ta 2 tipa podatka su [tt]elementtype[/tt] i [tt]QUEUE[/tt]. i želimo implementirati QUEUE preko vezane liste. ali na predavanjima / u skripti se za ovu implementaciju ne koriste dva, nego TRI tipa podataka: elementtype, celltype i QUEUE:

[code:1]typedef int elementtype;

typedef struct cell_tag {
elementtype element;
struct cell_tag *next;
} celltype;

typedef struct {
celltype *front, *rear;
} QUEUE; [/code:1]

moje je pitanje: ako sve moramo napraviti pomoću 2 tipa podataka i 5 funkcija, je li uvođenje ovakvih "pomoćnih" tipova podataka u redu?

2.) znači elementtype ne može biti gornji struct nego jedino int, double, char, itd? ili se i struktura može uzeti da je elementtype, a konačan niz tih struktura čini QUEUE?

jer ako bi to bilo moguće, onda bih zaista mogao imati samo dva tipa podatka, elementtype i QUEUE:

[code:1]
typedef struct cell_tag {
int element;
struct cell_tag *next;
} elementtype;

typedef struct {
elementtype *front, *rear;
} QUEUE; [/code:1]

e sad me zanima je li ovo moguće ili elementtype može biti samo int, double itd... :?:

pitanje je banalno ali sam ga htiJo što preciznije formulirat :)



i još me zanima ovo: ako funkcija/program mora raditi samo sa tipovima podataka i sa funkcijama iz a.t.p.-a, može li ipak primiti neki tip podataka koji nije ni elementtype ni QUEUE? npr. ako u program moram poslati matricu [tt]mat[/tt], ili sad izmišljam, neki double [tt]x[/tt], može li funkcija biti oblika

[code:1]QUEUE fja(elementtype E, char **mat, QUEUE Q, double x)[/code:1]

ili svi podaci moraju biti ili tipa elementtype ili QUEUE :?:

na službenoj stranici piše:

[quote][size=14][b]Svaka druga funkcija (uključujući main, (...)) smije prilikom korištenja tog atp-a koristiti isključivo funkcije iz definicije atp-a[/b][/size] [/quote]

da li bi bottom line onda bio: smiju se koristiti SAMO [i]funkcije[/i] iz a.t.p.-a, a smiju se koristiti i [i]tipovi podataka[/i] koji nisu u a.t.p.-u?

zahvaljujem na strpljenju :D
kako je u naslovu QUEUE imam par pitanja o njemu, pa da ne otvaram novi topic...

zbunjuje me, ako cijelu implementaciju treba napraviti točno kao u šalabahteru, onda za QUEUE imamo 2 tipa podataka i 5 funkcija.
ta 2 tipa podatka su elementtype i QUEUE. i želimo implementirati QUEUE preko vezane liste. ali na predavanjima / u skripti se za ovu implementaciju ne koriste dva, nego TRI tipa podataka: elementtype, celltype i QUEUE:

Kod:
typedef int elementtype;

typedef struct cell_tag {
   elementtype element;
   struct cell_tag *next;
   } celltype;

typedef struct {
   celltype *front, *rear;
   } QUEUE;


moje je pitanje: ako sve moramo napraviti pomoću 2 tipa podataka i 5 funkcija, je li uvođenje ovakvih "pomoćnih" tipova podataka u redu?

2.) znači elementtype ne može biti gornji struct nego jedino int, double, char, itd? ili se i struktura može uzeti da je elementtype, a konačan niz tih struktura čini QUEUE?

jer ako bi to bilo moguće, onda bih zaista mogao imati samo dva tipa podatka, elementtype i QUEUE:

Kod:

typedef struct cell_tag {
   int element;
   struct cell_tag *next;
   } elementtype;

typedef struct {
   elementtype *front, *rear;
   } QUEUE;


e sad me zanima je li ovo moguće ili elementtype može biti samo int, double itd... Question

pitanje je banalno ali sam ga htiJo što preciznije formulirat Smile



i još me zanima ovo: ako funkcija/program mora raditi samo sa tipovima podataka i sa funkcijama iz a.t.p.-a, može li ipak primiti neki tip podataka koji nije ni elementtype ni QUEUE? npr. ako u program moram poslati matricu mat, ili sad izmišljam, neki double x, može li funkcija biti oblika

Kod:
QUEUE fja(elementtype E, char **mat, QUEUE Q, double x)


ili svi podaci moraju biti ili tipa elementtype ili QUEUE Question

na službenoj stranici piše:

Citat:
Svaka druga funkcija (uključujući main, (...)) smije prilikom korištenja tog atp-a koristiti isključivo funkcije iz definicije atp-a


da li bi bottom line onda bio: smiju se koristiti SAMO funkcije iz a.t.p.-a, a smiju se koristiti i tipovi podataka koji nisu u a.t.p.-u?

zahvaljujem na strpljenju Very Happy


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Lafiel
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 09. 2007. (09:56:59)
Postovi: (153)16
Spol: žensko
Sarma = la pohva - posuda
27 = 51 - 24

PostPostano: 13:50 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

Čitam sad malo skriptu; još sam pri početku, implementacija liste preko pointera (aka vezana lista), str. 10 i 11.
Funkcija INSERT(x, p) bi trebala ubaciti element x na poziciju p, ali i po samoj funkciji, i po dijagramu se (po meni) to ubacuje na poziciju p+1 (tj. p->next). Da se poslužim oznakama s dijagrama, element a i dalje ostaje na poziciji p, element x dolazi nakon njega, a nakon x dođe b. Ista stvar s DELETE. Što sam previdjela? :-k
Čitam sad malo skriptu; još sam pri početku, implementacija liste preko pointera (aka vezana lista), str. 10 i 11.
Funkcija INSERT(x, p) bi trebala ubaciti element x na poziciju p, ali i po samoj funkciji, i po dijagramu se (po meni) to ubacuje na poziciju p+1 (tj. p->next). Da se poslužim oznakama s dijagrama, element a i dalje ostaje na poziciji p, element x dolazi nakon njega, a nakon x dođe b. Ista stvar s DELETE. Što sam previdjela? Think



_________________
Weit von hier fällt Gold von den Sternen
[Vrh]
Korisnički profil Pošaljite privatnu poruku
fireball
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 10. 2005. (18:49:17)
Postovi: (4AB)16
Spol: muško
Sarma = la pohva - posuda
26 = 100 - 74
Lokacija: s rukom u vatri i nogom u grobu

PostPostano: 20:22 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

@piko: zanci ovako za prvi dio

elementtype je tip elementa, int, double... ili moze bit i neka struktura kao drugi red, sto, stablo, u prijevodu to je onaj tip elementa koji cuvas u stablu.

celltype opisuje strukturu celije u kojoj cuvas elemente, tj ovo gore navedeno i pokazivac na dljedeci u nizu elemenata (naime red je definiran kao takav)

a red je red :) FIFO lista, tj to je lista koja sdrzi elemente u celltypu :)

valjda kuzis sta pricam :)

p.s. ovo pisem napamet jer sam lijen pogledat skritu pa to ipak malo prouci ali mislim da nisam fulao, a ako jesam nadam se da ce me neka dobra dusa ispravit
@piko: zanci ovako za prvi dio

elementtype je tip elementa, int, double... ili moze bit i neka struktura kao drugi red, sto, stablo, u prijevodu to je onaj tip elementa koji cuvas u stablu.

celltype opisuje strukturu celije u kojoj cuvas elemente, tj ovo gore navedeno i pokazivac na dljedeci u nizu elemenata (naime red je definiran kao takav)

a red je red Smile FIFO lista, tj to je lista koja sdrzi elemente u celltypu Smile

valjda kuzis sta pricam Smile

p.s. ovo pisem napamet jer sam lijen pogledat skritu pa to ipak malo prouci ali mislim da nisam fulao, a ako jesam nadam se da ce me neka dobra dusa ispravit



_________________
I bow before you Veliki Limun, on je kiseo i zut Bow to the left
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Zildyan
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 28. 07. 2008. (13:41:39)
Postovi: (20)16
Sarma = la pohva - posuda
= 3 - 3

PostPostano: 22:04 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

[quote="Lafiel"]Čitam sad malo skriptu; još sam pri početku, implementacija liste preko pointera (aka vezana lista), str. 10 i 11.
Funkcija INSERT(x, p) bi trebala ubaciti element x na poziciju p, ali i po samoj funkciji, i po dijagramu se (po meni) to ubacuje na poziciju p+1 (tj. p->next). Da se poslužim oznakama s dijagrama, element a i dalje ostaje na poziciji p, element x dolazi nakon njega, a nakon x dođe b. Ista stvar s DELETE. Što sam previdjela? :-k[/quote]

..da je pozicija elementa a(p) pokazivac p koji pokazuje celiju koja sadrzi pokazivac na a(p)..
onda p pokazuje na celiju u kojoj je zapisan a(p-1) jer ona sadrzi i pokazivac na a(p) a onda se lako zakljucuje da ako zelis ubaciti element na poziciju p da moras ga zapisati u p->next->elements
Lafiel (napisa):
Čitam sad malo skriptu; još sam pri početku, implementacija liste preko pointera (aka vezana lista), str. 10 i 11.
Funkcija INSERT(x, p) bi trebala ubaciti element x na poziciju p, ali i po samoj funkciji, i po dijagramu se (po meni) to ubacuje na poziciju p+1 (tj. p→next). Da se poslužim oznakama s dijagrama, element a i dalje ostaje na poziciji p, element x dolazi nakon njega, a nakon x dođe b. Ista stvar s DELETE. Što sam previdjela? Think


..da je pozicija elementa a(p) pokazivac p koji pokazuje celiju koja sadrzi pokazivac na a(p)..
onda p pokazuje na celiju u kojoj je zapisan a(p-1) jer ona sadrzi i pokazivac na a(p) a onda se lako zakljucuje da ako zelis ubaciti element na poziciju p da moras ga zapisati u p→next→elements


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
malena
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 27. 03. 2009. (16:43:42)
Postovi: (62)16
Spol: žensko
Sarma = la pohva - posuda
= 9 - 8
Lokacija: ...

PostPostano: 22:33 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

HELP!!!!! :predaja:

1. pitanje: citam u bilj dijkstrin algoritam i mislim da sam ga shvatila ali me zanima kad pretvaram INFIX (A-B+C)/A+B-(C+A) u POSTFIX je li to AB-C+A/BCA+-+ ili ABC-+A/BC+-+. ovo prvo mi je logicnije ali...

2. zapela sam na funkciji izbaci moze li par naputaka? :puppydogeyes:

tnx people
HELP!!!!! Predajem se...

1. pitanje: citam u bilj dijkstrin algoritam i mislim da sam ga shvatila ali me zanima kad pretvaram INFIX (A-B+C)/A+B-(C+A) u POSTFIX je li to AB-C+A/BCA+-+ ili ABC-+A/BC+-+. ovo prvo mi je logicnije ali...

2. zapela sam na funkciji izbaci moze li par naputaka? #Puppy dog

tnx people


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Gino
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 22:40 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

[quote="malena"]HELP!!!!! :predaja:

1. pitanje: citam u bilj dijkstrin algoritam i mislim da sam ga shvatila ali me zanima kad pretvaram INFIX (A-B+C)/A+B-(C+A) u POSTFIX je li to AB-C+A/BCA+-+ ili ABC-+A/BC+-+. ovo prvo mi je logicnije ali...

2. zapela sam na funkciji izbaci moze li par naputaka? :puppydogeyes:

tnx people[/quote]
1.
AB-C+A/B+CA+- (radio sam napamet, al mislim da je ok)
2. o cemu ti :?: :D
malena (napisa):
HELP!!!!! Predajem se...

1. pitanje: citam u bilj dijkstrin algoritam i mislim da sam ga shvatila ali me zanima kad pretvaram INFIX (A-B+C)/A+B-(C+A) u POSTFIX je li to AB-C+A/BCA+-+ ili ABC-+A/BC+-+. ovo prvo mi je logicnije ali...

2. zapela sam na funkciji izbaci moze li par naputaka? #Puppy dog

tnx people

1.
AB-C+A/B+CA+- (radio sam napamet, al mislim da je ok)
2. o cemu ti Question Very Happy



_________________
Mario Berljafa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
komaPMF
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2007. (10:23:41)
Postovi: (E6)16
Spol: žensko
Sarma = la pohva - posuda
-5 = 8 - 13
Lokacija: Over the roof

PostPostano: 22:41 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

mislim da ovo prvo ide ABC+-A/BCA+-+ ...može netko potvrditi?

zašto ne valja ovako?

sbd help? nemoguće da večer prije kolokvija saznam da sam cijelo vrijeme u krivu...a što je najgore- baš taj dan ne dođoh na vježbe kad se to radilo :)
mislim da ovo prvo ide ABC+-A/BCA+-+ ...može netko potvrditi?

zašto ne valja ovako?

sbd help? nemoguće da večer prije kolokvija saznam da sam cijelo vrijeme u krivu...a što je najgore- baš taj dan ne dođoh na vježbe kad se to radilo Smile



_________________
Granice mogućega možemo odrediti samo onda ako ih prijeđemo odlaskom u nemoguće
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 22:56 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

1.
(A-B+C)/A+B-C+A (mislim dab se to tak pročitalo)
(A+B-C)/A-B+C+"fali mi operand"

ovo što si napisala u postfiksu je
AB-C+A/B+CA+-
[url=http://degiorgi.math.hr/forum/viewtopic.php?t=14065]JANKRI-ev post[/url]
prvo zagrada na stog, ispišem A, stavim - na stog, ispišem B, čitam +, stog nije prazan, praznim ga i ispišem - te stavljam + na stog, čitam C i ispišem ga, čitam ) i praznim stog, dakle samo +, .....
1.
(A-B+C)/A+B-C+A (mislim dab se to tak pročitalo)
(A+B-C)/A-B+C+"fali mi operand"

ovo što si napisala u postfiksu je
AB-C+A/B+CA+-
JANKRI-ev post
prvo zagrada na stog, ispišem A, stavim - na stog, ispišem B, čitam +, stog nije prazan, praznim ga i ispišem - te stavljam + na stog, čitam C i ispišem ga, čitam ) i praznim stog, dakle samo +, .....



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
malena
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 27. 03. 2009. (16:43:42)
Postovi: (62)16
Spol: žensko
Sarma = la pohva - posuda
= 9 - 8
Lokacija: ...

PostPostano: 22:56 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

[quote="Gino"]
1.
AB-C+A/B+CA+- (radio sam napamet, al mislim da je ok)
2. o cemu ti :?: :D[/quote]

sorry :oops:

proslogodisnji kolokvij funkcija IZBACI one koji se javljaju manje od k puta

tnx :wink:
Gino (napisa):

1.
AB-C+A/B+CA+- (radio sam napamet, al mislim da je ok)
2. o cemu ti Question Very Happy


sorry Embarassed

proslogodisnji kolokvij funkcija IZBACI one koji se javljaju manje od k puta

tnx Wink


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Gino
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2008. (10:54:06)
Postovi: (370)16
Sarma = la pohva - posuda
-29 = 108 - 137
Lokacija: Pula

PostPostano: 23:10 čet, 12. 11. 2009    Naslov: Citirajte i odgovorite

[latex]\begin{array}{|l|l|}\hline
ispis & stog\\\hline
&(\\\hline
A & (\\\hline
A & (-\\\hline
AB & (-\\\hline
AB- & (+\\\hline
AB-C & (+\\\hline
AB-C+&\\\hline
AB-C+& /\\\hline
AB-C+A& /\\\hline
AB-C+A/& +\\\hline
AB-C+A/B& +\\\hline
AB-C+A/B+& -\\\hline
AB-C+A/B+& -(\\\hline
AB-C+A/B+C& -(\\\hline
AB-C+A/B+C& -(+\\\hline
AB-C+A/B+CA& -(+\\\hline
AB-C+A/B+CA+-& \\\hline
\end{array}[/latex]

[size=9][color=#999999]Added after 3 minutes:[/color][/size]

[quote="malena"]proslogodisnji kolokvij funkcija IZBACI one koji se javljaju manje od k puta[/quote]
[code:1]// 2008 str 6 (nigdje nisam koristio to da su charovi ??)
int IZBACI(QUEUE *Q, int k){
STACK S1,S2;
int koliko=0,i,vrati=0;
S_MAKE_NULL(&S1); S_MAKE_NULL(&S2);
while(!EMPTY(*Q)){
PUSH(FRONT(*Q),&S1);
DEQUEUE(Q);
while(!EMPTY(*Q)){
if(FRONT(*Q)==TOP(S1)){
PUSH(FRONT(*Q),&S1);
DEQUEUE(Q);
koliko+=1;
}
PUSH(FRONT(*Q),&S2);
DEQUEUE(Q)
}
if(koliko+1<k){
for(i=0;i<koliko+1;i++)
POP(&S1);
vrati+=1;
}
while(!S_EMPTY(S2)){
ENQUEUE(TOP(S2),Q);
POP(&S2);
}
koliko=0;
}
while(!S_EMPTY(S1)){
ENQUEUE(TOP(S1),Q);
POP(&S1);
}
return vrati;
}[/code:1]


Added after 3 minutes:

malena (napisa):
proslogodisnji kolokvij funkcija IZBACI one koji se javljaju manje od k puta

Kod:
// 2008 str 6 (nigdje nisam koristio to da su charovi ??)
int IZBACI(QUEUE *Q, int k){
    STACK S1,S2;
    int koliko=0,i,vrati=0;
    S_MAKE_NULL(&S1); S_MAKE_NULL(&S2);
    while(!EMPTY(*Q)){
                      PUSH(FRONT(*Q),&S1);
                      DEQUEUE(Q);
                      while(!EMPTY(*Q)){
                                        if(FRONT(*Q)==TOP(S1)){
                                                               PUSH(FRONT(*Q),&S1);
                                                               DEQUEUE(Q);
                                                               koliko+=1;
                                                               }
                                        PUSH(FRONT(*Q),&S2);
                                        DEQUEUE(Q)
                                        }
                      if(koliko+1<k){
                                     for(i=0;i<koliko+1;i++)
                                     POP(&S1);
                                     vrati+=1;
                                     }
                      while(!S_EMPTY(S2)){
                                          ENQUEUE(TOP(S2),Q);
                                          POP(&S2);
                                          }
                      koliko=0;
                      }
    while(!S_EMPTY(S1)){
                        ENQUEUE(TOP(S1),Q);
                        POP(&S1);
                        }
    return vrati;
}



_________________
Mario Berljafa
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Strukture podataka i algoritmi Vremenska zona: GMT + 01:00.
Idite na 1, 2  Sljedeće
Stranica 1 / 2.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan