Microsoft Interview Question
Program Managersbool InsertDoubleList(list*& head, list* insertNode, list* beforeThisNode)
{
if(!root||!insertNode||!beforeThisNode) return false;
if(head==beforeThisNode)
{
insertNode->next=beforeThisNode;
beforeThisNode->prev=insertNode;
head=insertNode;
return true;
}
list* curr=head;
while(curr->next)
{
if(curr->next==beforeThisNode)
{
insertNode->next=beforeThisNode;
insertNode->prev=beforeThisNode->prev;
beforeThisNode->prev=insertNode;
insertNode->prev->next=insertNode;
return true;
}
curr=curr->next;
}
return false;
}
Node InsertDoubleLinkList(Node list, Node insert)
- dorkyMe January 26, 2007{
if (list == null)
{
return insert;
}
Node temp = list.next;
else
{
insert.previous = list;
list.next = insert;
insert.next = temp;
temp.previous = insert;
}
}