资源描述:
《数据结构实验指导书2010》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构实验指导书实验一、线性表(2学时)1.设计实验设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除。具体实现要求:(1)从键盘输入10个整数,产生顺序表,并输入结点值。(2)从键盘输入1个整数,在顺序表中查找该结点的位置11。若找到,输出结点的位置;若找不到,则显示“找不到”。(3)从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出顺序表所有结点值,观察输出结果。(4)从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。2.实验报告完成实验一实验报告。格式统一按“实验报告格式
2、”,注意内容部分有页眉页脚。报告中实验原理部分需包括程序设计的基本思想,原理;实验过程部分需包括源程序及注释和调试、运行程序过程中产生的问题及采取的措施;实验结果部分需包括运行输出结果及对算法的程序的讨论、分析,改进设想,其它经验教训。另还可就实验方式、组织、设备、题目提出意见和建议。提示:可参考以下思路进行设计:#include#include//顺序表的定义:#defineListSize100//表空间大小可根据实际需要而定,这里假设为100typedefintDataType;//DataType可以是任何相应的数据类型
3、如int,float或chartypedefstruct{DataTypedata[ListSize];//向量data用于存放表结点intlength;//当前的表长度}SeqList;voidmain(){SeqListL;inti,x;intn=10;//欲建立的顺序表长度L.length=0;voidCreateList(SeqList*L,intn);voidPrintList(SeqListL,intn);intLocateList(SeqListL,DataTypex);voidInsertList(SeqList*L,DataTypex,inti);
4、voidDeleteList(SeqList*L,inti);CreateList(&L,n);//建立顺序表PrintList(L,n);//打印顺序表printf("输入要查找的值:");scanf("%d",&x);i=LocateList(L,x);//顺序表查找printf("输入要插入的位置:");scanf("%d",&i);printf("输入要插入的元素:");scanf("%d",&x);InsertList(&L,x,i);//顺序表插入PrintList(L,n);//打印顺序表}printf("输入要删除的位置:");scanf("%d",
5、&i);DeleteList(&L,i);//顺序表删除PrintList(L,n);//打印顺序表}//顺序表的建立:voidCreateList(SeqList*L,intn){//在此插入必要的语句}//顺序表的打印:voidPrintList(SeqListL,intn){//在此插入必要的语句}//顺序表的查找:intLocateList(SeqListL,DataTypex){//在此插入必要的语句}//顺序表的插入:voidInsertList(SeqList*L,DataTypex,inti){//在此插入必要的语句}//顺序表的删除:voidDel
6、eteList(SeqList*L,inti){//在此插入必要的语句}实验二、单链表(2学时)1.验证实验打开教材自带教学辅助光盘,进入光盘中的“DSDemoC”目录,运行DSDemo.EXE,进入数据结构算法演示系统(C语言描述)V3.1C中文版。具体操作请按照界面上的提示进行。选择主菜单中链表下的各算法。首先仔细阅读算法,再输入数据,分步运行算法,检验自己对算法的理解是否正确。在实验报告中写出自己在演示算法过程中理解和实际运算的不同之处,并总结原因。2.设计实验设计算法,实现线性结构上的单链表的产生以及元素的查找、插入与删除。具体实现要求:(1)从键盘输入2
7、0个整数,产生不带表头的单链表,并输入结点值。(2)从键盘输入1个整数,在单链表中查找该结点的位置。若找到,则显示“找到了”;否则,则显示“找不到”。(3)从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出单链表所有结点值,观察输出结果。(4)从键盘输入1个整数,表示欲删除结点的位置,输出单链表所有结点值,观察输出结果。(5)将单链表中值重复的结点删除,使所得的结果表中个结点值均不相同,输出单链表所有结点值,观察输出结果。(6)删除其中所有数据值为偶数的结点,输出单链表所有结点值,观察输出结果。(7)把单链表变成带表