2022年数据结构编程实例 .pdf
《2022年数据结构编程实例 .pdf》由会员分享,可在线阅读,更多相关《2022年数据结构编程实例 .pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构编程实例1顺序表的基本操作#define LEN 100 typedef struct sqlist int aLEN;int length;void init(struct sqlist*sq)/*初始化*/int i;for(i=0;iai=0;sq-length=0;void creat(struct sqlist*sq)/*建顺序表*/int i;printf(please input length);scanf(%d,&sq-length);printf(please input%d numsn,sq-length);for(i=1;ilength;i+)scanf(%d,&
2、sq-ai);名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 14 页 -void print(struct sqlist*sq)/*输出顺序表*/int i;for(i=1;ilength;i+)printf(%d,sq-ai);printf(n);void insert(struct sqlist*sq,int pos,int x)/*顺序表插入元素*/int i;for(i=sq-length;i=pos;i-)sq-ai+1=sq-ai;sq-apos=x;sq-length=sq-length+1;int delete(struct sqlist*sq,int pos)
3、/*顺序表删除元素*/int i,x;x=sq-apos;for(i=pos+1;ilength;i+)sq-ai-1=sq-ai;sq-length=sq-length-1;return(x);名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 14 页 -main()int position,x;struct sqlist*list;struct sqlist slist;int xz=0;list=&slist;while(1)printf(1.initn);printf(2.creatn);printf(3.insertn);printf(4.deleten);printf(
4、5.locate_valuen);printf(6.locate_posn);printf(7.printn);printf(0.exitn);printf(please input your choice);scanf(%d,&xz);switch(xz)case 1:init(list);break;case 2:creat(list);break;case 3:printf(pleast input inset position(pos)and value(x);scanf(%d%d,&position,&x);名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 14 页 -i
5、f(positionlist-length+1|list-length=LEN)printf(position errorn);else insert(list,position,x);break;case 4:printf(pleast input delete position(pos);scanf(%d,&position);if(positionlist-length|list-length=0)printf(position errorn);else printf(delete position=%d,delete data=%dn,position,delete(list,posi
6、tion);break;case 5:;case 6:;case 7:print(list);break;case 0:exit(0);2三种方法建立链表#include typedef struct node int data;struct node*link;NODE;NODE*creat1()名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 14 页 -/*按输入数据的顺序建立链表,输入数据通过个数控制*/int i,data,n;NODE*h=NULL,*p,*last=NULL;printf(please input the num:);scanf(%d,&n);prin
7、tf(please input%d datas:,n);for(i=1;idata);if(i=1)h=p;else last-link=p;last=p;last-link=NULL;return(h);NODE*creat2()/*按输入数据的逆序建立链表,输入数据以0 结束*/int data;NODE*h=NULL,*p;printf(please input datas(0 end)n);名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 14 页 -scanf(%d,&data);while(data)p=(NODE*)malloc(sizeof(NODE);p-data
8、=data;if(h=NULL)h=p;h-link=NULL;else p-link=h;h=p;scanf(%d,&data);return(h);NODE*creat3()/*按输入数据的大小顺序建立带头结点的链表,输入数据以0 结束*/int data;NODE*h,*p,*q,*r;h=(NODE*)malloc(sizeof(NODE);h-link=NULL;printf(please input datas(0 end)n);scanf(%d,&data);while(data)p=(NODE*)malloc(sizeof(NODE);p-data=data;p-link=NU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据结构编程实例 2022 数据结构 编程 实例
限制150内