欢迎来到天天文库
浏览记录
ID:35538208
大小:206.04 KB
页数:21页
时间:2019-03-25
《数据结构线性表与链表实验论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数据结构上机实验1班级:计科1303姓名:辛颖学号:2013310200324一、实验题目:线性表二、实验目的:1、熟悉将算法转换为程序代码的过程;2、了解顺序表的逻辑结构特性,熟悉掌握顺序表存储结构的C语言描述方法;3、熟悉掌握顺序表的基本运算:查找、插入、删除,掌握顺序表的随机存储特性;4、了解线性表的链式存储结构及其顺序存储特性,熟悉掌握线性表的链式存储结构的C语言描述方法;5、熟悉掌握线性链表(单链表)的基本运算:查找、插入、删除等,能在实际应用中灵活选择适当的链表结构;6、掌握使用链表表示特定形式数据的方法,并能编写相关运算的算法。三、实验
2、要求:(1)熟悉顺序表的插入、删除和查找。(2)熟悉单链表的插入、删除和查找。(3)熟悉双链表的插入、删除和查找。四、实验内容和实验步骤:1、#include#include#include#defineMaxSize20typedefintElemType;typedefstructSeqList{//线性表顺序存储结构定义ElemTypeelem[MaxSize];intlength;}SeqList;intInit_SeqList(SeqList&L){L.length=0;return
3、1;}intLocate_SeqList(SeqList&L,intx){inti=0;while(i=L.length){printf("顺序表中不存在该元素!");return0;}elsereturni+1;}intInsert_SeqList(SeqList&L,inti,intx){//在顺序存储结构的线性表的第i个数据元素之前插入新元素x,1<=i<=n+1intj;if(L.length>=MaxSize){printf("顺序表已满,无法进行插入操作!");retu
4、rn0;}if(i<=0
5、
6、i>L.length+1){printf("插入位置不正确!");return0;}for(j=L.length-1;j>=i-1;j--){L.elem[j+1]=L.elem[j];L.elem[i-1]=x;L.length++;return1;}}intDelete_SeqList(SeqList&L,inti){//在顺序存储结构的线性表中删除第i个元素,1<=i7、8、(i>L.length)){printf("删除位置不正确!");return0;}for(j=1;j<9、L.length;j++)L.elem[j-1]=L.elem[j];L.length--;return1;}intDisplay_SeqList(SeqListL){//顺序表的显示inti;for(i=0;i10、2);Insert_SeqList(L,3,3);Insert_SeqList(L,4,4);Display_SeqList(L);printf("");while(i<=3){printf("主菜单");printf("1查找指定元素");printf("2插入元素到指定位置");printf("0结束程序");printf("-------------------------------");printf("请输入您选择的菜单号<1,2,3,0>:");scanf("%d",&i);switch(i){case1:pr11、intf("请输入查找元素:");scanf("%d",&x);j=Locate_SeqList(L,x);if(j!=0)printf("指定元素位置=%d",j);break;case2:printf("请输入插入元素位置:");scanf("%d",&k);printf("请输入插入元素值:");scanf("%d",&x);j=Insert_SeqList(L,k,x);if(j!=0){printf("插入后顺序表如下所示");Display_SeqList(L);}printf("");break;case3:printf("12、请输入删除元素位置:");scanf("%d",&k);i=Delete_SeqList(L,k);if(j
7、
8、(i>L.length)){printf("删除位置不正确!");return0;}for(j=1;j<
9、L.length;j++)L.elem[j-1]=L.elem[j];L.length--;return1;}intDisplay_SeqList(SeqListL){//顺序表的显示inti;for(i=0;i10、2);Insert_SeqList(L,3,3);Insert_SeqList(L,4,4);Display_SeqList(L);printf("");while(i<=3){printf("主菜单");printf("1查找指定元素");printf("2插入元素到指定位置");printf("0结束程序");printf("-------------------------------");printf("请输入您选择的菜单号<1,2,3,0>:");scanf("%d",&i);switch(i){case1:pr11、intf("请输入查找元素:");scanf("%d",&x);j=Locate_SeqList(L,x);if(j!=0)printf("指定元素位置=%d",j);break;case2:printf("请输入插入元素位置:");scanf("%d",&k);printf("请输入插入元素值:");scanf("%d",&x);j=Insert_SeqList(L,k,x);if(j!=0){printf("插入后顺序表如下所示");Display_SeqList(L);}printf("");break;case3:printf("12、请输入删除元素位置:");scanf("%d",&k);i=Delete_SeqList(L,k);if(j
10、2);Insert_SeqList(L,3,3);Insert_SeqList(L,4,4);Display_SeqList(L);printf("");while(i<=3){printf("主菜单");printf("1查找指定元素");printf("2插入元素到指定位置");printf("0结束程序");printf("-------------------------------");printf("请输入您选择的菜单号<1,2,3,0>:");scanf("%d",&i);switch(i){case1:pr
11、intf("请输入查找元素:");scanf("%d",&x);j=Locate_SeqList(L,x);if(j!=0)printf("指定元素位置=%d",j);break;case2:printf("请输入插入元素位置:");scanf("%d",&k);printf("请输入插入元素值:");scanf("%d",&x);j=Insert_SeqList(L,k,x);if(j!=0){printf("插入后顺序表如下所示");Display_SeqList(L);}printf("");break;case3:printf("
12、请输入删除元素位置:");scanf("%d",&k);i=Delete_SeqList(L,k);if(j
此文档下载收益归作者所有