顺序表实验报告.docx
《顺序表实验报告.docx》由会员分享,可在线阅读,更多相关《顺序表实验报告.docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、顺序表实验报告 数据结构试验报告一 系别:嵌入式系统工程系班级:嵌入式 11003 班 学号:11160400314姓名:xxx日期:2022 年 4 月 9 日指导老师 XX 一、上机试验的问题和要求:依次表的查找、插入与删除。设计算法,实现线性结构上的依次表的产生以及元素的查找、插入与删除。详细实现要求:1. 从键盘输入 10 个整数,产生依次表,并输入结点值。2. 从键盘输入 1 个整数,在依次表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示找不到。3. 从键盘输入 2 个整数,一个表示欲插入的位置 i,另一个表示欲插入的数值 x,将 x 插入在对应位置上,输出依次表全部结
2、点值,视察输出结果。4. 从键盘输入 1 个整数,表示欲删除结点的位置,输出依次表全部结点值,视察输出结果。二、程序设计的基本思想,原理和算法描述:(包括程序的结构,数据结构,输入/输出设计,符号名说明等)创建一个依次表,实现对依次表的插入,查找,删除等功能。 三、源程序及注释:#include <stdio.h> /*依次表的定义:*/ #define ListSize 100/*表空间大小可依据实际须要而定,这里假设为100*/ typedef int DataType;/*DataType可以是任何相应的数据类型如int, float或char*/ typedef struc
3、t DataType dataListSize; /*向量data用于存放表结点*/int length;/*当前的表长度*/ SeqList;/*子函数的声明*/ void CreateList(SeqList * L,int n);/*创建依次表函数*/ int LocateList(SeqList L,DataType x);/*查找依次表*/ void InsertList(SeqList * L,DataType x,int i); /*在依次表中插入结点x*/ void DeleteList(SeqList * L,int i);/*在依次表中删除第i个结点*/ void Prin
4、tList(SeqList L,int n); /*打印依次表中前n个结点*/void main() SeqList L;int n=10,x,i;/*欲建立的依次表长度*/L.length=0; /*调用创建线性表函数*/ printf(create function:n);CreateList(&L,n);/*建立依次表*/PrintList(L,n); /*打印依次表*/ /*调用查找函数*/printf(search function:n);printf("input the data you want to search:"); scanf("%
5、d",&x); i=LocateList(L,x);/*依次表查找*/ if (i=0) printf("sorry,dont find %d!nn",x); else printf("i have find the %d,it locate in %d!nn",x,i);/*调用插入函数*/ printf(Insert function:n);printf("输入要插入的位置:(input the position:)");scanf("%d",&i);printf("输入要插
6、入的元素:(input the data:)");scanf("%d",&x);InsertList(&L,x,i);/*依次表插入 */PrintList(L,n); /*打印依次表 */*调用删除函数*/ printf(delete function:n); printf("输入要删除的位置:(input the position:)");scanf("%d",&i);DeleteList(&L,i);/*依次表删除 */PrintList(L,n); /*打印依次表 */ /*依次表的建
7、立:*/ void CreateList(SeqList *L,int n) int i;for (i=0;i<n;i+) printf("ninput the %d data:",i+1);scanf("%d",&(*L).datai); (*L).length=n; /*依次表的查找:*/ int LocateList(SeqList L,DataType x) int i=0; while (i<_=L.length-1_ && _L.datai_=!e_)+i; if (i<L.length) retur
8、n i+1; else return 0; /*依次表的插入:*/ void InsertList(SeqList *L,DataType x,int i) /*将新结点x插入L所指的依次表的第i个结点的位置上 */int j;if (i<1 | i>_L.length_) printf("插入位置非法"); exit(0);if (*L).length>=_MaxSize_) printf("表空间溢出,退出运行"); exit(0);for (j=(*L).length-1;j>=i-1;j-) _L.datak+1=L.da
9、tak_ ; /*依次表元素从后向前依次后移*/_L.datai-1=e_; /*将x插入第i个结点位置*/_L.length+_;/*表长自增1*/ /*依次表的删除:*/ void DeleteList(SeqList *L,int i) /*从L所指的依次表中删除第i个结点 */int j;if (i<1 | i>_L.length_) printf("删除位置非法"); exit(0);for (j=i;j<=(*L).length-1;j+) _L.datak-1=L.datak_; /*依次表自第i个结点起先,依次前移*/ _L.length-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 顺序 实验 报告
限制150内