Pseudocode:
The code is self explanatory.
The code is self explanatory.
node* split( node *list) {
node *p, node *q, node *new;
// we need atleast 2 nodes to split
if( !list || !list->next )
return NULL;
// p points to second node
// q points to first node
// q trails p
q = list;
p = list->next;
while( p && q ) {
q->next = p->next;
if( q->next )
p->next = q->next->next;
else {
p->next = NULL;
break;
}
// increment pointers
p = p->next;
q = q->next;
}
return new;
}
No comments :
Post a Comment