用函数实现单链表翻转的算法

 typedef struct node //定义结点数据类型

NODE{

int data;

struct node *next;

} NODE;

NODE *link_invert(NODE *Head) //单链表翻转函数

 

NODE *link_invert(NODE *Head) //单链表翻转函数
{
if(Head==NULL||Head->next==NULL)
return Head;

NODE *o,*p,*q;
q=Head;
p=q->next;
o=p->next;

Head->next=NULL;

while(o!=NULL)
{
p->next=q;
q=p;
p=o;
o=o->next;
}

p->next=q;

return p;

}
 

 

你可能感兴趣的:(算法,struct,qq,null,OO)