“I bought this guide a few days ago to prepare for my interview with Oracle. Many of the questions they asked me were from this guide. I found this book absolutely great!”
Read more comments...
Delete an element from a doubly linked list.
2,098 Views | (2 votes, avg: 4)
void deleteNode(node *n){ n->previous=n->next; delete n;}
void deleteNode(node *n){ node *np = n->prev; node *nn = n->next; np->next = n->next; nn->prev = n->prev; delete n;}
del(Node* n){ (n->prev)->next = n->next; delete (n);}
The 1st and 3rd solutions are incomplete as they only reset one of the 2 pointers associated with each node.soln 2 is complete
void del(node *n){(n->prev)->next = n->next;(n->next)->prev = n->prev;delete (n);}
bitch
small correction to asdf solution
void del(node *n){if (!n) return;if (n->prev) n->prev->next = n->next;if (n->next) n->next->prev = n->prev;delete (n);}
void del(node *n) { if (!n) return; if (n->prev) n->prev->next = n->next; else if (n->next) n->next->prev = NULL; if (n->next) n->next->prev = n->prev; else if (n->prev) n->prev->next = NULL; delete (n); }
Name (required)
Mail (will not be published) (required)
Your Answer
To prove you're a person (not a spam script), type the security text shown in the picture. Click here to regenerate some new text.
void deleteNode(node *n)
{
n->previous=n->next;
delete n;
}
void deleteNode(node *n)
{
node *np = n->prev;
node *nn = n->next;
np->next = n->next;
nn->prev = n->prev;
delete n;
}
del(Node* n)
{
(n->prev)->next = n->next;
delete (n);
}
The 1st and 3rd solutions are incomplete as they only reset one of the 2 pointers associated with each node.
soln 2 is complete
void del(node *n)
{
(n->prev)->next = n->next;
(n->next)->prev = n->prev;
delete (n);
}
bitch
small correction to asdf solution
void del(node *n)
{
if (!n) return;
if (n->prev) n->prev->next = n->next;
if (n->next) n->next->prev = n->prev;
delete (n);
}
void del(node *n)
{
if (!n) return;
if (n->prev) n->prev->next = n->next;
else if (n->next) n->next->prev = NULL;
if (n->next) n->next->prev = n->prev;
else if (n->prev) n->prev->next = NULL;
delete (n);
}
Leave an Answer/Comment