欢迎来到天天文库
浏览记录
ID:39115672
大小:72.46 KB
页数:3页
时间:2019-06-25
《单链表的就地逆置》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#include#defineNULL0#defineOK1typedefintElemType;typedefintStatus;//-----单链表的存储结构-----//typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;voidCreastList_L(LinkList&L,intn)//创建带头结点的单链表L{LNode*p,*q;inti;L=(LNode*)malloc
2、(sizeof(LNode));L->next=NULL;//先建立一个带头结点的单链表p=L;for(i=1;i<=n;i++){q=(LNode*)malloc(sizeof(LNode));//生成新结点printf("Inputthe%dthdata:",i);scanf("%d",&q->data);//输入元素值q->next=NULL;p->next=q;p=q;}}voidListInverse_L(LinkList&L)//单链表的就地逆置{LNode*p,*q;p=L->next;L->next=NULL;while(p!=NUL
3、L){q=p->next;p->next=L->next;L->next=p;p=q;}}voidPrintList(LinkList&L)//输出单链表{LNode*p=L->next;while(p!=NULL){printf("%d",p->data);p=p->next;}}voidmain(){intn;LinkListLa;printf("Inputthelistnum:");scanf("%d",&n);CreastList_L(La,n);printf("BeforeInversethelistis:");PrintList(La);
4、ListInverse_L(La);printf("AfterInversethelistis:");PrintList(La);printf("");}
此文档下载收益归作者所有