I am writting a function to remove duplicated nodes in linked list
but it run out of memory!!
Any C expert can tell me what error on my code!!
many thx
Code:
typedef struct node *NodePtr;
struct node
{
int num;
NodePtr next;
};
.
.
.
.
void delete_duplicated_nodes(NodePtr p)
{
NodePtr temp_root = p;
NodePtr temp_pre = p;
NodePtr temp_move = p->next;
while(temp_root != NULL){
while(temp_move != NULL){
if(temp_move->num == temp_root->num){
temp_move = temp_move->next;
free(temp_pre->next);
temp_pre->next = temp_move;
}else{
temp_pre = temp_pre->next;
temp_move = temp_move->next;
}
}
temp_root = temp_root->next;
temp_pre = temp_root->next;
temp_move = temp_root->next->next;
}
}