《数据结构顺序表结构程序》由会员分享,可在线阅读,更多相关《数据结构顺序表结构程序(5页珍藏版)》请在金锄头文库上搜索。
1、洛洛阳阳理理工工学学院院实实验验报报告告系部计算机系班级B120505学号B12050525姓名纳百川课程名称数据结构实验日期2014.3.3实验名称线性表的基本操作成绩实验目的:(1)掌握线性表的顺序存储结构的特点;(2)掌握线性表的基本操作:初始化、插入、删除、查找数据元素等运算在顺序存储结构上的实现。实验条件:VC+6.0,计算机一台。实验内容与算法思想:内容:建立一个顺序表,并实现下列操作:1. 初始化表;2.把元素 x 插入表中 第 i 个位置;3.查找值为 x 的元素,若找到将其删除; 4.输出表中各元素的值。算法思想:该程序包括 四个函数, 一个主函数和三个调用函数, 主函数 m
2、ain,调用函数分别为插入函数 InsList,查找函数 Locate,删除函数 Del。InsList 函数实现把元素 x 插入表中; Locate 函数实现查找值为 x 的元素, Del 函数实现将查找到的元素删除 。在主函数中先建立有序的顺序表,然后分别调用其他三个函数实现题目功能。运行结果:实验总结:这次实验目的主要是 掌握线性表的顺序存储结构的特点 ;掌握线性表的基本操作:初始化、插入、删除、查找数据元素等运算在顺序存储结构上的实现。通过本次程序的编写,我对线性表的有关知识有了更深的认识,对各程序模块的操作也更加熟练,基本掌握了 插入、删除、查找操作的相关算法。在这次试验中明显感觉到
3、我们要编的程序越来越长,通过本次的编写,感觉数据结构的知识确实有点难,要想掌握每种算法,只有多看多练才行,实践才是王道!附:源程序:#include#define Maxsize 100#define OK 1#define ERROR 0 typedef structint elemMaxsize;int last;SeqList;int InsList(SeqList *L,int a,int i);int Locate(SeqList L,int e);int Del(SeqList *L,int i);void main()int i,e,a,h;int list1,list2;Seq
4、List L;L.last=0; printf(“请输入顺序表元素个数n“);scanf(“%d“,printf(“请输入顺序表元素n“);for(i=0;iL-last+2)printf(“插入位置不合法!“);return(ERROR);if(L-last=Maxsize-1)printf(“表已满,无法插入“);return(ERROR);for(p=L-last;p=i-1;p-)L-elemp+1=L-elemp;L-elemi-1=a;L-last+;return(OK);int Locate(SeqList L,int e)int i=0;while(iL-last+1)printf(“删除位置不合法!“);return(ERROR);for(k=i;klast;k+)L-elemk-1=L-elemk;L-last-;return OK;