资源描述:
《实验二线性表.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、江南大学物联网工程学院上机报告课程名称数据结构上机名称顺序表的实现和应用上机日期2016-01-15班 级姓 名学 号上机报告要求 1.上机名称 2.上机要求 3.上机环境 4.程序清单(写明运行结果) 5.上机体会1.上机名称顺序表的实现和应用2.上机要求⑴定义线性表的顺序存储表示;⑵基于所设计的存储结构实现线性表的基本操作;⑶编写一个主程序对所实现的线性表进行测试;⑷线性表的应用:①设线性表L1和L2分别代表集合A和B,试设计算法求A和B的并集C,并用线性表L3代表集合C;②(选做)设线性表L1和L2
2、中的数据元素为整数,且均已按值非递减有序排列,试设计算法对L1和L2进行合并,用线性表L3保存合并结果,要求L3中的数据元素也按值非递减有序排列。3.上机环境VisualC++6.04.程序清单(写明运行结果)#include#defineMAXSIZE100typedefcharElemType;typedefstruct{ElemTypedata[MAXSIZE];intlength;}SqList;voidInitList(SqList&sq){sq.length=0;}intGetLe
3、ngth(SqListsq){returnsq.length;}intGetElem(SqListsq,inti,ElemType&e){if(i<1
4、
5、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);elsereturn(i+1);}intInsElem(SqList&sq,ElemTyp
6、ex,inti){intj;if(i<1
7、
8、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
9、
10、i>sq.length)return0;for(j=i;j11、}voidDispList(SqListsq){inti;for(i=1;i<=sq.length;i++)printf("%c",sq.data[i-1]);printf("");}voidMargeList_Sq(SqListA,SqListB,SqList&C){inti,j=0;C.length=0;for(i=0;i12、th+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;i13、mTypee;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)
14、;printf("线性表A:");DispList(A);printf("线性表B:");DispList(B);common(A,B,C);printf("线性表C:");DispList(C);}5.上机体会这次的实验大致还算比较成功,在书上提供了大致的思路,我们只需要根据思路来编写相应的函数,而相应的函数在书上和老师上课内容都有提及到。不过,过程也不是一帆风顺的,比如编写的函数当