线性表应用举例PPT课件

上传人:仙*** 文档编号:42416968 上传时间:2021-11-26 格式:PPT 页数:13 大小:138.50KB
收藏 版权申诉 举报 下载
线性表应用举例PPT课件_第1页
第1页 / 共13页
线性表应用举例PPT课件_第2页
第2页 / 共13页
线性表应用举例PPT课件_第3页
第3页 / 共13页
资源描述:

《线性表应用举例PPT课件》由会员分享,可在线阅读,更多相关《线性表应用举例PPT课件(13页珍藏版)》请在装配图网上搜索。

1、第第2 2章章 线性表线性表 D.S. D.S.数据结构数据结构1线性表应用举例按正位序创建一个带表头结点的单链表1 1、预定义常量与存储结构描述、预定义常量与存储结构描述 #define NULL 0 /预定义常量 typedef struct LNode char data; struct LNode *next; LNode,*Linklist; /存储结构描述第第2 2章章 线性表线性表 D.S. D.S.数据结构数据结构22 2、定义在存储结构上的操作、定义在存储结构上的操作void create_L_zx(Linklist L) int i,n; Linklist q,p; pri

2、ntf(input n:); scanf(%d%*c,&n); q=L; for(i=0;idata); p-next=NULL; q-next=p;q=p; 第第2 2章章 线性表线性表 D.S. D.S.数据结构数据结构3void print_L(Linklist L) Linklist p; printf(The list is:n); p=L-next; while(p) printf(%3c,p-data); p=p-next; printf(n);第第2 2章章 线性表线性表 D.S. D.S.数据结构数据结构43 3、测试程序、测试程序main() Linklist L;

3、 clrscr(); L=(Linklist)malloc(sizeof(LNode); L-next=NULL; create_L_zx(L); print_L(L);第第2 2章章 线性表线性表 D.S. D.S.数据结构数据结构5按正位序创建一个不带表头结点的单链表1 1、创建、创建p=(Linklist)malloc(sizeof(LNode); /第一个结点第一个结点scanf(%c,&p-data);L=p;q=p;for(i=2;idata); p-next=NULL; q-next=p;q=p; 2 2、打印、打印 p=L;3 3、测试、测试 L=NULL;第第2 2章

4、章 线性表线性表 D.S. D.S.数据结构数据结构6在单链表中删除所有值为在单链表中删除所有值为x x的结点的结点main() int x,i,n; Linklist L,p,q; clrscr(); L=(Linklist)malloc(sizeof(LNode); /建立空链表建立空链表 L-next=NULL; printf(input n:); scanf(%d,&n); for(i=n;i0;i-) /按逆位序创建单链表按逆位序创建单链表 p=(Linklist)malloc(sizeof(LNode); scanf(%d,&p-data); p-next=L-ne

5、xt; L-next=p; 第第2 2章章 线性表线性表 D.S. D.S.数据结构数据结构7p=L-next; /打印单链表打印单链表 while(p) printf(%4d,p-data); p=p-next; printf(ninput x:); scanf(%d,&x); p=L; while(p-next) if(p-next-data=x) q=p-next; p-next=q-next; free(q); else p=p-next;p=L-next; while(p) printf(%4d,p-data); p=p-next; 第第2 2章章 线性表线性表 D.S. D

6、.S.数据结构数据结构8建立一个线性链表建立一个线性链表head=3head=3,5 5,7 7,9 9,其元素值依次为从键盘输入正整数其元素值依次为从键盘输入正整数(以输入一个非正整数为结束);在(以输入一个非正整数为结束);在线性表中值为线性表中值为x x的元素前插入一个值为的元素前插入一个值为y y的数据元素。若值为的数据元素。若值为x x的结点不存在,的结点不存在,则将则将y y插在表尾。插在表尾。第第2 2章章 线性表线性表 D.S. D.S.数据结构数据结构9 1 1、建立头文件:、建立头文件:linkh.hlinkh.h #define NULL 0 /*预定义常量*/ type

7、def int ElemType; typedef struct LNode ElemTpye data; struct LNode *next; LNode,*Linklist; /*存储结构描述*/第第2 2章章 线性表线性表 D.S. D.S.数据结构数据结构10/ /* *定义在存储结构上的操作定义在存储结构上的操作* */ /void create_L(Linklist L) Linklist p,q; ElemType d; q=L; printf(input datas in the list(end of 0):); scanf(%d,&d); while(d0) p=

8、(Linklist)malloc(sizeof(LNode); p-data=d; p-next=NULL; q-next=p; q=p; scanf(%d,&d); 第第2 2章章 线性表线性表 D.S. D.S.数据结构数据结构11void print_L(Linklist L) Linklist p; printf(The list is:n); p=L-next; while(p) printf(%4d,p-data); p=p-next; printf(n);第第2 2章章 线性表线性表 D.S. D.S.数据结构数据结构12void Insert_x_y(Linklist

9、L) ElemType x,y; Linklist s,q,p; printf(ninput x,y:); scanf(%d,%d,&x,&y); s=(Linklist)malloc(sizeof(LNode); s-data=y; q=L; p=q-next; while(p!=NULL)&(p-data!=x) q=p; p=p-next; s-next=p; q-next=s;第第2 2章章 线性表线性表 D.S. D.S.数据结构数据结构132 2、建立源程序文件测试:、建立源程序文件测试:ceshi.cceshi.c #include linkh.h /*文件包含*/ main() Linklist L; clrscr(); L=(Linklist)malloc(sizeof(LNode); L-next=NULL; create_L(L); print_L(L); Insert_x_y(L); print_L(L);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!