This is my code for double linked list.
The pointer next is OK
I have big problem in creating the prev pointer.
Take a look:
Can anyone tell me the exact problem?????Code:struct AkeraiosStruct { int Value; AkeraiosStruct * next; AkeraiosStruct * prev; } AkeraiosStruct; //---------------------------------------------> void insert_at_end (AkeraiosStruct * * ptraddr, int v) /* Insert v as last element of list *ptraddr */ { AkeraiosStruct * templist,prevnode; templist = * ptraddr; while (*ptraddr != NULL){ /* Go to end of list */ ptraddr = &((*ptraddr)->next); /* Prepare what we need to change */ if(((*ptraddr)->next)==NULL) prevnode = *ptraddr; } *ptraddr = malloc(sizeof(struct AkeraiosStruct)); /* Space for new node */ (*ptraddr)->Value = v; /* Put value */ (*ptraddr)->next = NULL; /* There is no next element */ (*ptraddr)->prev = prevnode; } void insert_at_start(AkeraiosStruct * *ptraddr, int v) /* Insert v as first element of list *ptraddr */ { AkeraiosStruct * templist,prevnode; prevnode = &((*ptraddr)->prev); templist = *ptraddr; /* Save current start of list */ *ptraddr = malloc(sizeof(struct AkeraiosStruct)); /* Space for new node */ prevnode = &(ptraddr); (*ptraddr)->Value = v; /* Put value */ (*ptraddr)->next = templist; /* Next element is former first */ (*ptraddr)->prev = NULL; }



LinkBack URL
About LinkBacks




