链表倒序基本思路算法:
pNext=p->next;
p->next=pFormer;
pFormer=p;
p=pNext;
如初始链表顺序位1->2->3->4
倒序以后的顺序为1<-2<-3<-4
主体程序:
LinkNode function(LinkNode* LN){
LinkNode* p=LN; //p被赋予头结点的位置
LinkNode* pFormer=NULL,*pNext;
while(p!=NULL){
pNext=p->next; //先将p->next节点保存
p->next=pFormer; //将p->next指向pFormer(初始化为NULL)
//头结点位置的后移
pFormer=p;
p=pNext; //使用保存下来的pNext,并非p->next
}
return pFormer;
}
根据程序,其处理步骤如下:
1.NULL<-1 2->3->4
2.1<-2 3->4
3.1<-2<-3 4
4.1<-2<-3<-4