把一个带头结点的单链表所有数据结点逆置

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
s=p->next;
p=p->next;
}
p=L;
q=L->next;
ElemType temp;
while(p->next!=s)
{
temp=s->data;
s->data=q->data;
q->data=temp;
q=q->next;
while(p->next!=s)
{
p=p->next;
}
s=p;
p=q;
}
}
void main()
{
LinkList *L;
Initial(L);
Input(L);
DisplayLink(L);
oppverse(L);
cout<<"逆置后的单链表为:"<<endl;
DisplayLink(L);
}
}wk.baidu.com
void Input(LinkList *&L) //输入单链表
{
cout<<"请输入10个数存入:"<<endl;
ElemType e;
for(int i=0;i<10;i++)
{
cin>>e;
LinkInsert(L,e);
}
}
void DisplayLink(LinkList *&L)
{
LinkList *p=L;
while(p->next!=NULL)
{
cout<<p->next->data<<"\t";
p=p->next;
}
cout<<endl;
}
void oppverse(LinkList *&L) //逆置所有结果、点
{
LinkList *p=L,*q,*s;
while(p->next!=NULL)
{
#include<iostream.h>
typedef int ElemType;
struct LinkList
{
ElemType data;
LinkList *next;
};
void Initial(LinkList *&L) //单链表的初始化
{
L=new LinkList;
L->next=NULL;
}
void LinkInsert(LinkList *&L,ElemType e) //插入结点
{
LinkList *p=L;
while(p->next!=NULL)
{
p=p->next;
}
LinkList *s;
s=new LinkList;
s->data=e;
s->next=p->next;
p->next=s;
相关文档
最新文档