线性链表逆置.doc

上传人:j****9 文档编号:3218353 上传时间:2019-05-26 格式:DOC 页数:3 大小:14.11KB
下载 相关 举报
线性链表逆置.doc_第1页
第1页 / 共3页
线性链表逆置.doc_第2页
第2页 / 共3页
线性链表逆置.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、#include#includetypedef struct LNode/定义数据结构int data;LNode* next;*LinkList;void CreatList(LinkList int i;L=(LinkList)malloc(sizeof(LNode);if(L=NULL)/判断分配是否完成exit(0);L-next=NULL;/先建立带头节点的单链表for(i=n;i0;i-)p=(LinkList)malloc(sizeof(LNode);/生成新节点if(p=NULL)/判断分配是否完成exit(1);printf(“this is the %d datan“,i)

2、;/对输入过程进行提示scanf(“%d“,/输入元素值p-next=L-next; /插入到L-next=p; /表头printf(“succeedn“);/对输入过程进行提示void InverseList(LinkList if(L=NULL|L-next=NULL)/判断分配是否完成printf(“the list is emptyn“);exit(2);p=L-next ;q=p-next ;p-next=NULL;if(q=NULL)L-next=p;exit(3);while(1)r=q-next ;q-next=p;if(r=NULL)/判断是否为尾指针L-next=q;/将头

3、指针指向原来的尾节点break;p=r-next ;r-next=q;if(p=NULL)/判断是否为尾指针L-next=r;/将头指针指向原来的尾节点break;q=p-next ;p-next=r;if(q=NULL)/判断是否为尾指针L-next=p;/将头指针指向原来的尾节点break;void TraverseList(LinkList L)/遍历线性链表while(L-next!=NULL)printf(“%dn“,L-next -data);L=L-next ;void main()LinkList L;int n;printf(“plesae input the number of the noden“);scanf(“%d“,CreatList(L,n);printf(“the whole listn“);TraverseList(L);InverseList(L);printf(“the whole list which has been inversedn“);TraverseList(L);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。