[ bjazbinsek @ 18.05.2006. 08:19 ] @
| Naznam kako da izbacim element liste a da on nije prvi element,bez koristenja gotovih funkcija.Help
Primjer vidi dolje:
void ispis(struct cvor *head)
{
struct cvor *new;
new=head;
while(new!=NULL)
{
printf("%d\n",(*new).data);
new=(*new).next;
}
}
struct cvor * dodaj_na_pocetak_liste (struct cvor *head, int value)
{
struct cvor *newPtr;
newPtr = malloc( sizeof(struct cvor) );
if (newPtr == NULL)
return head;
(*newPtr).data = value;
(*newPtr).next = head;
/*printf("%p\n", newPtr);
printf("%d : %p\n", (*newPtr).data,(*newPtr).next);
printf("--------------\n");*/
return newPtr;
}
int main(void)
{
struct cvor *head;
int i;
head = NULL;
for(i=1; i<=5; i++)
{
head = dodaj_na_pocetak_liste(head, rand()%10);
}
ispis(head);
okreni(head);
return 0;
} |
[ rumpl @ 18.05.2006. 19:20 ] @
Prolazis kroz listu sve dok ne naidjes na element koji treba da izbacis.
Kada dojes do njega, free, i jos malo zezanja oko nekih gluposti koje, siguran sam, sam mozes da provalis.
Jos nesto, sto koristis (*newPtr).data = value; umesto newPtr->data???
Lepse je :)
[ bjazbinsek @ 18.05.2006. 19:49 ] @
Mi smo samo onako ucili kako sam napisala.
[ NrmMyth @ 19.05.2006. 14:22 ] @
Citat:
bjazbinsek: Mi smo samo onako ucili kako sam napisala.
U pravilu, ponavljam, u pravilu je situacija da te uce oni koji su losiji u tom podrucju, jer nisu mogli zavrsiti vecu skolu ili se zaposliti za neko vaznije mjesto pa su dosli predavati tebi u skoli. Teoretski... ima iznimaka.
[ Mali Misha @ 19.05.2006. 15:09 ] @
Kako se izbacuje... zavisi da li je po vrednosti ili po pokazivacu. Uglavnom (netestirano):
Code:
void erase(struct cvor*list, struct cvor*outer)
{
struct cvor *i;
if(list && outer)
{
for(i=list;i;i=i->next)
{
if(i->next == outer)
{
i->next = outer->next;
free( outer );
return;
}
}
}
}
[ bjazbinsek @ 20.05.2006. 15:53 ] @
Moj kompajler ne podrzava takve naznake.Moj kompajler za windows 98 je lcc-win32.P.S.To me uce na faksu.
[ bjazbinsek @ 20.05.2006. 15:55 ] @
Nesmijemo koristiti gotove funkcije,npr.pow,itd.
[ rumpl @ 22.05.2006. 11:36 ] @
Koje naznake?
[ bjazbinsek @ 22.05.2006. 17:16 ] @
Ne podrazava ->.Hvala sto mi pomazes.
[ pcaca @ 22.05.2006. 17:27 ] @
Taj simbol -> koristi se kada imamo izraz (*objekt).clan kao zamena za *, zagrade i tocku. Pokusaj sa (*i).next umesto i->next.
[Ovu poruku je menjao pcaca dana 22.05.2006. u 18:29 GMT+1]
[Ovu poruku je menjao pcaca dana 22.05.2006. u 18:33 GMT+1]
[ Mali Misha @ 23.05.2006. 20:35 ] @
Ne podrzava -> ... axa ... bas steta.
I jos jedno mozda glupkasto pitanje: da li je i void free(void*) na listi nedozvoljenih f-ja? Pitam jer komentar za iste dodje kao odgovor na moj post.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.