利用尾插法建立单链表 2.设计一个算法,将单链表中结点以逆序排列。逆序的单链表中的结点均为原表中的结点?
浏览量:2876
时间:2021-03-12 19:56:37
作者:admin
2.设计一个算法,将单链表中结点以逆序排列。逆序的单链表中的结点均为原表中的结点?
Typedef struct listnode{
listnode*next
element data
}listnode,*plist
这是三种不同的单链表逆序算法,两种递归算法和一种非递归算法
plist reverselist(plist head){
if(!Head |(Head->next))
return Head
plist pH=reverselist(Head->next)
Head->next->next=Head
Head->next=null
return Head pH
}
plist reverselist(plist Head,plist&tail){
if(!头| |!(head->next){
tail=head
return head
}
pList pt
pList ph=ReverseList(head->next,pt)
pt->next=head
head->next=NULL
tail=head
return ph
}
pList reverselistunrec(pList head){
if(!头| |!(head->next))
返回head
pList h=NULL,h1=head
而(head){
h1=head->next
head->next=h
h=head
head=h1
}
返回h
}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。