实验二线性表.docx

上传人:b****8 文档编号:30415041 上传时间:2023-08-14 格式:DOCX 页数:7 大小:25.03KB
下载 相关 举报
实验二线性表.docx_第1页
第1页 / 共7页
实验二线性表.docx_第2页
第2页 / 共7页
实验二线性表.docx_第3页
第3页 / 共7页
实验二线性表.docx_第4页
第4页 / 共7页
实验二线性表.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

实验二线性表.docx

《实验二线性表.docx》由会员分享,可在线阅读,更多相关《实验二线性表.docx(7页珍藏版)》请在冰豆网上搜索。

实验二线性表.docx

实验二线性表

实验二线性表

江南大学物联网工程学院上机报告

课程名称

数据结构

上机名称

顺序表的实现和应用

上机日期

2016-01-15

班  级

姓  名

学  号

上机报告要求 1.上机名称 2.上机要求 3.上机环境 4.程序清单(写明运行结果) 5.上机体会

1.上机名称

顺序表的实现和应用

2.上机要求

⑴定义线性表的顺序存储表示;

⑵基于所设计的存储结构实现线性表的基本操作;

⑶编写一个主程序对所实现的线性表进行测试;

⑷线性表的应用:

①设线性表L1和L2分别代表集合A和B,试设计算法求A和B的并集C,并用线性表L3代表集合C;②(选做)设线性表L1和L2中的数据元素为整数,且均已按值非递减有序排列,试设计算法对L1和L2进行合并,用线性表L3保存合并结果,要求L3中的数据元素也按值非递减有序排列。

3.上机环境

VisualC++6.0

4.程序清单(写明运行结果)

#include

#defineMAXSIZE100

typedefcharElemType;

typedefstruct

{

ElemTypedata[MAXSIZE];

intlength;

}SqList;

voidInitList(SqList&sq)

{

sq.length=0;

}

intGetLength(SqListsq)

{

returnsq.length;

}

intGetElem(SqListsq,inti,ElemType&e)

{

if(i<1||i>sq.length)

return0;

else

{

e=sq.data[i-1];

return1;

}

}

intLocate(SqListsq,ElemTypex)

{

inti=0;

while(sq.data[i]!

=x)

i++;

if(i>sq.length)

return(0);

else

return(i+1);

}

intInsElem(SqList&sq,ElemTypex,inti)

{

intj;

if(i<1||i>sq.length+1)

return0;

for(j=sq.length;j>i-1;j--)

sq.data[j]=sq.data[j-1];

sq.data[i-1]=x;

sq.length++;

return1;

}

intDelElem(SqList&sq,inti)

{

intj;

if(i<1||i>sq.length)

return0;

for(j=i;j

sq.data[j-1]=sq.data[j];

sq.length--;

return1;

}

voidDispList(SqListsq)

{

inti;

for(i=1;i<=sq.length;i++)

printf("%c",sq.data[i-1]);

printf("\n");

}

voidMargeList_Sq(SqListA,SqListB,SqList&C)

{

inti,j=0;

C.length=0;

for(i=0;i

{

C.data[i]=A.data[j];

j++;

}

C.length=i;

for(i=0,j=0;i

{

C.data[C.length+i]=B.data[j];

j++;

}

C.length=C.length+i;

}

voidcommon(SqListA,SqListB,SqList&C)

{

inti,j,k,n;

MargeList_Sq(A,B,C);

n=C.length;

for(i=0;i

for(j=i+1;j

{

if(C.data[j]==C.data[i])

{

for(k=j;k

C.data[k]=C.data[k+1];

n--;

}

}

C.length=n;

}

voidmain()

{

inti;

ElemTypee;

SqListA,B,C;

InitList(A);

InitList(B);

InitList(C);

InsElem(A,'4',1);

InsElem(A,'1',2);

InsElem(A,'2',3);

InsElem(A,'7',4);

InsElem(A,'9',5);

InsElem(A,'6',6);

InsElem(B,'3',1);

InsElem(B,'2',2);

InsElem(B,'8',3);

InsElem(B,'9',4);

InsElem(B,'5',5);

InsElem(B,'4',6);

printf("线性表A:

");DispList(A);

printf("线性表B:

");DispList(B);

common(A,B,C);

printf("线性表C:

");DispList(C);

}

5.上机体会

这次的实验大致还算比较成功,在书上提供了大致的思路,我们只需要根据思路来编写相应的函数,而相应的函数在书上和老师上课内容都有提及到。

不过,过程也不是一帆风顺的,比如编写的函数当中有一些错误,还要耐心的修改以及查阅书籍并作相应的改正。

同时,思路也是书上了,感觉自己还需要进一步的理解这个思路并在以后相似的题目中也能够完整地编写程序而不是靠查阅书籍。

继续努力吧!

教师评价

及格

不及格

教师签名

日期

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1