/////////add node//////////
node *add_node(node *head,node *n)
{
//check for empty list //
if(head==NULL)
{
head=n;
return head;
}
//check for first node ////
if(strcmp(n->NAME,head->NAME)<0)
{
head->back=n;
n->forward=head;
n->back=NULL;
head=n;
return head;
}
//general case//
node *p;
p=head;
while (p!=NULL)
{
if(strcmp(n->NAME,p->NAME)<0)
{
n->forward=p;
n->back=p->back;
p->back=n;
n->back->forward=n;
}
else
p=p->forward;
}
//last case
n->forward=p;
n->back=p->back;
p->back->forward=n;
return head;
}
*** MOD EDIT: Added code tags. Please
This post has been edited by JackOfAllTrades: 30 September 2009 - 02:18 PM

New Topic/Question
Reply




MultiQuote




|