//Merge the two linked lists
//The first list pHead1 will contain the merged list
void MergeList(NodePtr pHead1, NodePtr pHead2)
{
if ( (NULL == pHead1) || (NULL == pHead2) )
return;
NodePtr pCurrent1 = pHead1;
NodePtr pCurrent2 = pHead2;
while( pCurrent1 && pCurrent2 )
{
NodePtr pTemp1 = pCurrent1->pNext;
NodePtr pTemp2 = pCurrent2->pNext;
pCurrent1->pNext = pCurrent2;
//First list might be smaller in length than second
//we need to make sure we assign right pointers
if (NULL != pTemp1)
{
pCurrent2->pNext = pTemp1;
}
pCurrent1 = pTemp1;
pCurrent2 = pTemp2;
}
}
Monday, July 21, 2008
Subscribe to:
Post Comments (Atom)

0 comments:
Post a Comment