线性表顺序存储运算的算法实现

线性表顺序存储运算的算法实现

ID:17452786

大小:194.86 KB

页数:10页

时间:2018-09-01

线性表顺序存储运算的算法实现_第1页
线性表顺序存储运算的算法实现_第2页
线性表顺序存储运算的算法实现_第3页
线性表顺序存储运算的算法实现_第4页
线性表顺序存储运算的算法实现_第5页
资源描述:

《线性表顺序存储运算的算法实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、昆明理工大学信息工程与自动化学院学生实验报告(2011—2012学年第1学期)课程名称:数据结构开课实验室:信自楼4442011年10月8日年级、专业、班学号姓名成绩实验项目名称线性表顺序存储运算的算法实现指导教师教师评语教师签名:年月日一、实验题目掌握线性表链式存储结构的C语言描述及运算算法的实现;体会last域在算法实现所起的作用;理解合理的存储结构设计与算法的存在的关系程序功能:1、主程序2、链表的建立3、链表的数据插入4、链表的数据删除5、链表的数据输出二、所用仪器、材料(设备名称、型号

2、、规格等)兼容计算机一台Visualc++三、实验方法、步骤问题提出算法设计编写程序调试运行结果测试操作菜单线性表的删除线性表的输出及表长线性表的输入线性表的置空线性表的查找线性表的插入四、实验过程原始记录(程序清单)#include#includetypedefintdatatype;/*设typedef(定义)datatype(数据类型)为int*/#include#include//包含清屏函数的类#include

3、#definemax300//线性表的最大长度设为300typedefstruct{intdata[max];intlast;}sequenlist;/*顺序表的名称sequenlist*/intcaidan()/*菜单函数*/{intc=0;printf("-----------顺序表的基本操作运算--------------");printf("1:线性表的置空2:线性表的输入");printf("3:线性表的输出4:线性表的插入");printf("5:线性

4、表的查找6:线性表的删除");printf("0:退出系统");printf("-------------------------------------------------");printf("请输入选项【0-6】:");do{scanf("%c",&c);}while(!(c>='0'&&c<'7'));returnc;}voidsetnull(sequenlist*p){p->last=0;}intinput(sequenlist*p,intx){inti;//循环变量in

5、tn;//输入数据的个数printf("请输入要输入的数据个数:");scanf("%d",&n);if(p->last>=max){printf("顺序表格已满,请退出运行");}for(i=1;i<=n;i++){printf("第%d个:",i);scanf("%d",&p->data[i-1]);p->last++;}return(n-1);}voidoutput(sequenlist*p){printf("顺序表的内容为:");printf("表长为:%d",p->la

6、st);intb;printf("表中的元素为:");for(b=0;blast;b++)printf("%d",p->data[b]);printf("");}intinsert(sequenlist*p,intx,inti){printf("输入要插入的元素位置:");scanf("%d",&i);printf("输入要插入的元素:");scanf("%d",&x);intj;if(i<1

7、

8、i>p->last+1){printf("选择插入的位置错误!");return0;

9、}if(p->last>=max){printf("顺序表格已满.");}for(j=p->last-1;j>=i-1;j--)//从第i个结点开始后移p->data[j+1]=p->data[j];p->data[i-1]=x;p->last++;return(1);}voidsearch(sequenlist*p,intt){printf("输入要查找的位置:");scanf("%d",&t);inti;for(i=0;ilast;i++){if(i=t){printf("该元素为:

10、%d",&p->data[i]);break;}if(i==p->last)printf("错误");}}voidDelete(sequenlist*p,inti)//删除{intj;if(i<1

11、

12、i>p->last){printf("非法位置!");exit(0);}else{for(j=i;j<=p->last;j++)p->data[j-1]=p->data[j];p->last--;}}voidmain(){sequenlist*p;intkey=1;inti,x=0;intt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。