hello everybody
i wanna creat a linked list,and the list is contained in a big loop.and i'm supposed to create new DIFFERENT nodes containg different information that can be accessed later during each iteration of the loop.i tried to dynamically allocate a new node each iteration and save the data and then delete the pointer.but strangely in the next iteration when i allocate the pointer again,it points to the previous node and overwrites its data so eventually i'll have one node only!!!..can u plz tell me why??
here's my code..
thanks alot...Code:struct user * f; //front pointer f=NULL; struct user * r; //rear pointer r=NULL; struct user * temp; //the temporary pointer that i use to allocate temp=NULL; int back; back=1; while(back==1) { if(f==NULL) //first node to be added { temp=(struct user *)malloc(sizeof(struct user)); //user is my structure temp->link=NULL; //the link field to the following node stpcpy((temp->data1),input1); stpcpy((temp->data2),input2); f=temp; r=f; free(temp); } else { temp=(struct user *)malloc(sizeof(struct user)); temp->link=NULL; stpcpy((temp->data1),input1); stpcpy((temp->data2),input2); r->link=temp; r=temp; free(temp); } }


LinkBack URL
About LinkBacks




Reply With Quote


Bookmarks
Algorithms and Data Structures
Java tutorials
Algorithms Forum