欢迎来到天天文库
浏览记录
ID:58450040
大小:15.50 KB
页数:2页
时间:2020-09-03
《带头节点的单链表的逆置.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/*带头结点的单链表的逆置程序*/#include#include#include#defineNULL0#defineOK1typedefintElemType;typedefintStatus;//-----单链表的存储结构-----//typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;voidCreastList_L(LinkList&L,intn){ //----创建带头结点的单链表L-----//LNode*p,*q;i
2、nti;L=(LNode*)malloc(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->
3、next=NULL;while(p!=NULL){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("BeforeInversethel
4、istis:");PrintList(La);ListInverse_L(La);printf("AfterInversethelistis:");PrintList(La);printf("");}//-----------------------------------------------运行结果---------------------------------------------//Inputthelistnum:5Inputthe1thdata:9Inputthe1thdata:8Inputthe1thdata:7Inputthe1thdata
5、:6Inputthe1thdata:5BeforeInversethelistis:98765Afternversethelistis:56789Pressanykertocontinue
此文档下载收益归作者所有