欢迎来到天天文库
浏览记录
ID:40818520
大小:486.42 KB
页数:23页
时间:2019-08-08
《单链表顺序表和二叉树的实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验题目:顺序表的操作实验日期:20131121实验要求:在VC++6.0的运行环境下,编写C或C++语言程序,利用顺序存储的方式来实现下列功能:(1)根据键盘输入数据建立一个顺序表,并且输出该顺序表。(2)根据屏幕菜单来选择数据的插入、删除以及查找操作。(3)完成插入或删除数据操作后,把操作后的线性表进行输出。(4)在完成插入、删除和查找操作后,选择菜单上的0,退出该程序的运行,结束实验内容。概要设计:在顺序表的第i个位置上要求插入一个数据元素时候,先将顺序表的第i个位置元素后的所有数据元素按顺序后移一个位置,在插入的地方空出一个位置,然后把要插入的新数据元素插入到该位置,同时
2、将表长加一。在顺序表中删除表中第i个位置的数据元素的时候,先将该位置的数据元素删除,然后将第i个位置后的其他剩余元素按顺序依次向前移动一个位置,同时将表长减一。顺序表中查找一个数据元素的值,需要遍历整个顺序表,如要找道该值,则返回该值在顺序表中的位置,否则继续查找。如果遍历整个顺序表都没有找到该值,则要求函数返回-1详细设计://建立线性表voidcreat_list(SqList*L){inti;printf("请输入线性表的长度:");scanf("%d",&L->length);for(i=0;ilength;i++){printf("数据元素%d=",i);sca
3、nf("%d",&(L->a[i]));}}begini=0Input线性表长度Li4、5、i>L->length)return0;for(j=L->length;j>=i;j--)L->a[j]=L->a[j-1];L->a6、[i-1]=e;L->length++;return1;}定义j=线性表的长度L(i<17、8、i>L->length)L->a[j]=L->a[j-1];j--beginL->a[i-1]=e;输入第插入地址i与输入元素ej>=LendL->length++;//删除第i个数据元素ElemTypedelete_sq(SqList*L,inti){intj;if(i<19、10、i>L->length)return0;for(j=i;jlength;j++)L->a[j]=L->a[j+1];L->length--;return1;}定义j线性表的长度为L(i<111、12、i>L->le13、ngth)L->a[j]=L->a[j+1]j++beginL->length--输入删除第i个元素endj=iJ14、ert_sq(SqList*L,inti,ElemTypee);改成intinsert_sq(SqList*L,inti,ElemTypee);'3E:c++A1.CPP(105):errorC2065:'length':undeclaredidentifier解决.把for(j=L-length;j>i;j--)改成for(j=L->length;j>i;j--)。测试结果:实验成绩:实验题目:单链表的操作实验日期:20131128实验要求:编写C语言程序,利用链式存储的方式来实现下列功能:(1)根据键盘输入数据建立一个单链表,并且输出该单链表。(2)根据屏幕菜单来选择数据15、的插入、删除以及查找操作。(3)完成插入或删除数据操作后,把操作后的线性表进行输出。(4)在完成插入、删除和查找操作后,选择菜单上的0,退出该程序的运行,结束实验内容。概要设计:在单链表的第i个位置上要求插入一个数据元素时候,先生成一个存储单元S来存放插入数据元素X的值,其次修改第i个位置结点P的next域值,让其存入是结点S所在存储单元地址的值,再次修改结点S的next域的值,让S的next域的值为第i+1结点的地址值。在单链表中删除表中第i个位置的数据元素的时候,先修改第i-
4、
5、i>L->length)return0;for(j=L->length;j>=i;j--)L->a[j]=L->a[j-1];L->a
6、[i-1]=e;L->length++;return1;}定义j=线性表的长度L(i<1
7、
8、i>L->length)L->a[j]=L->a[j-1];j--beginL->a[i-1]=e;输入第插入地址i与输入元素ej>=LendL->length++;//删除第i个数据元素ElemTypedelete_sq(SqList*L,inti){intj;if(i<1
9、
10、i>L->length)return0;for(j=i;jlength;j++)L->a[j]=L->a[j+1];L->length--;return1;}定义j线性表的长度为L(i<1
11、
12、i>L->le
13、ngth)L->a[j]=L->a[j+1]j++beginL->length--输入删除第i个元素endj=iJ14、ert_sq(SqList*L,inti,ElemTypee);改成intinsert_sq(SqList*L,inti,ElemTypee);'3E:c++A1.CPP(105):errorC2065:'length':undeclaredidentifier解决.把for(j=L-length;j>i;j--)改成for(j=L->length;j>i;j--)。测试结果:实验成绩:实验题目:单链表的操作实验日期:20131128实验要求:编写C语言程序,利用链式存储的方式来实现下列功能:(1)根据键盘输入数据建立一个单链表,并且输出该单链表。(2)根据屏幕菜单来选择数据15、的插入、删除以及查找操作。(3)完成插入或删除数据操作后,把操作后的线性表进行输出。(4)在完成插入、删除和查找操作后,选择菜单上的0,退出该程序的运行,结束实验内容。概要设计:在单链表的第i个位置上要求插入一个数据元素时候,先生成一个存储单元S来存放插入数据元素X的值,其次修改第i个位置结点P的next域值,让其存入是结点S所在存储单元地址的值,再次修改结点S的next域的值,让S的next域的值为第i+1结点的地址值。在单链表中删除表中第i个位置的数据元素的时候,先修改第i-
14、ert_sq(SqList*L,inti,ElemTypee);改成intinsert_sq(SqList*L,inti,ElemTypee);'3E:c++A1.CPP(105):errorC2065:'length':undeclaredidentifier解决.把for(j=L-length;j>i;j--)改成for(j=L->length;j>i;j--)。测试结果:实验成绩:实验题目:单链表的操作实验日期:20131128实验要求:编写C语言程序,利用链式存储的方式来实现下列功能:(1)根据键盘输入数据建立一个单链表,并且输出该单链表。(2)根据屏幕菜单来选择数据
15、的插入、删除以及查找操作。(3)完成插入或删除数据操作后,把操作后的线性表进行输出。(4)在完成插入、删除和查找操作后,选择菜单上的0,退出该程序的运行,结束实验内容。概要设计:在单链表的第i个位置上要求插入一个数据元素时候,先生成一个存储单元S来存放插入数据元素X的值,其次修改第i个位置结点P的next域值,让其存入是结点S所在存储单元地址的值,再次修改结点S的next域的值,让S的next域的值为第i+1结点的地址值。在单链表中删除表中第i个位置的数据元素的时候,先修改第i-
此文档下载收益归作者所有