欢迎来到天天文库
浏览记录
ID:13705901
大小:502.00 KB
页数:34页
时间:2018-07-24
《数据结构与算法上机实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构与算法B上机实验报告数据结构与算法B上机实验报告第1次2011-10-02顺序表的实现和基本操作第2次2011-10-29二叉树的实现和递归遍历第3次2011-11-23内部排序第4次2011-12-dd实现图从邻接矩阵到邻接表存储转化-32-共36页数据结构与算法B上机实验报告第一次线性表数据结构一、上机实习题目线性链表操作——插入、删除、合并、排序、查找二数据结构设计(算法设计)源程序(#include#defineMaxSize100usingnamespacestd;typedefint
2、ElemType;classSeqList{ElemTypelist[MaxSize];intlength;public:SeqList(){length=0;}voidSeqListSort(inti,ElemTypex);voidSeqListCreat(intn);voidSeqListInset(inti,ElemTypex);voidSeqListDelete(inti);voidSeqListMerge();intGetLength(){returnlength;}intSeqListFind(ElemType
3、x);intSeqListIsEmpty();voidSeqListPrint();}Mylist1,Mylist2;-32-共36页数据结构与算法B上机实验报告//创建顺序表voidSeqList::SeqListCreat(intn){ElemTypex;cout<<"请输入数据元素:";for(inti=0;i>x;list[i]=x;length++;}}//对顺序表进行排序voidSeqList::SeqListSort(inti,ElemTypex){for(intk=0;k4、h;k++){for(i=k+1;i<=length;i++){if(list[k]>list[i]){x=list[k];list[k]=list[i];list[i]=x;}}}}-32-共36页数据结构与算法B上机实验报告//在顺序表L中的第i个位置插入新元素xvoidSeqList::SeqListInset(inti,ElemTypex){intk;if(length>=MaxSize)cout<<"表已满,无法插入!"<5、6、i>length)cout<<"参数i不合理!"<7、dl;else{for(k=length;k>=i;k--){list[k]=list[k-1];}list[i-1]=x;length++;}}//删除第i个位置的数据元素voidSeqList::SeqListDelete(inti){intk;if(!SeqListIsEmpty())cout<<"表已空,无法删除!"<8、9、i>length)cout<<"参数i不合理!"<10、--;-32-共36页数据结构与算法B上机实验报告}//查找元素x在表中的位置intSeqList::SeqListFind(ElemTypex){inti=0;while(ilength)return-1;elsereturni+1;}//判断顺序表是否为空intSeqList::SeqListIsEmpty(){if(length<=0)return0;elsereturn1;}//将顺序表显示在屏幕上voidSeqList::SeqListPrint(){if11、(!SeqListIsEmpty())cout<<"空表!"<12、;cout<<"5.删除第i个位置上的数值";cout<<"6.将两个顺序表合并";cout<<"7.退出";cout<>select;switch(select){case1:cout<<"请输入顺序表1的长度:";
4、h;k++){for(i=k+1;i<=length;i++){if(list[k]>list[i]){x=list[k];list[k]=list[i];list[i]=x;}}}}-32-共36页数据结构与算法B上机实验报告//在顺序表L中的第i个位置插入新元素xvoidSeqList::SeqListInset(inti,ElemTypex){intk;if(length>=MaxSize)cout<<"表已满,无法插入!"<5、6、i>length)cout<<"参数i不合理!"<7、dl;else{for(k=length;k>=i;k--){list[k]=list[k-1];}list[i-1]=x;length++;}}//删除第i个位置的数据元素voidSeqList::SeqListDelete(inti){intk;if(!SeqListIsEmpty())cout<<"表已空,无法删除!"<8、9、i>length)cout<<"参数i不合理!"<10、--;-32-共36页数据结构与算法B上机实验报告}//查找元素x在表中的位置intSeqList::SeqListFind(ElemTypex){inti=0;while(ilength)return-1;elsereturni+1;}//判断顺序表是否为空intSeqList::SeqListIsEmpty(){if(length<=0)return0;elsereturn1;}//将顺序表显示在屏幕上voidSeqList::SeqListPrint(){if11、(!SeqListIsEmpty())cout<<"空表!"<12、;cout<<"5.删除第i个位置上的数值";cout<<"6.将两个顺序表合并";cout<<"7.退出";cout<>select;switch(select){case1:cout<<"请输入顺序表1的长度:";
5、
6、i>length)cout<<"参数i不合理!"<7、dl;else{for(k=length;k>=i;k--){list[k]=list[k-1];}list[i-1]=x;length++;}}//删除第i个位置的数据元素voidSeqList::SeqListDelete(inti){intk;if(!SeqListIsEmpty())cout<<"表已空,无法删除!"<8、9、i>length)cout<<"参数i不合理!"<10、--;-32-共36页数据结构与算法B上机实验报告}//查找元素x在表中的位置intSeqList::SeqListFind(ElemTypex){inti=0;while(ilength)return-1;elsereturni+1;}//判断顺序表是否为空intSeqList::SeqListIsEmpty(){if(length<=0)return0;elsereturn1;}//将顺序表显示在屏幕上voidSeqList::SeqListPrint(){if11、(!SeqListIsEmpty())cout<<"空表!"<12、;cout<<"5.删除第i个位置上的数值";cout<<"6.将两个顺序表合并";cout<<"7.退出";cout<>select;switch(select){case1:cout<<"请输入顺序表1的长度:";
7、dl;else{for(k=length;k>=i;k--){list[k]=list[k-1];}list[i-1]=x;length++;}}//删除第i个位置的数据元素voidSeqList::SeqListDelete(inti){intk;if(!SeqListIsEmpty())cout<<"表已空,无法删除!"<8、9、i>length)cout<<"参数i不合理!"<10、--;-32-共36页数据结构与算法B上机实验报告}//查找元素x在表中的位置intSeqList::SeqListFind(ElemTypex){inti=0;while(ilength)return-1;elsereturni+1;}//判断顺序表是否为空intSeqList::SeqListIsEmpty(){if(length<=0)return0;elsereturn1;}//将顺序表显示在屏幕上voidSeqList::SeqListPrint(){if11、(!SeqListIsEmpty())cout<<"空表!"<12、;cout<<"5.删除第i个位置上的数值";cout<<"6.将两个顺序表合并";cout<<"7.退出";cout<>select;switch(select){case1:cout<<"请输入顺序表1的长度:";
8、
9、i>length)cout<<"参数i不合理!"<10、--;-32-共36页数据结构与算法B上机实验报告}//查找元素x在表中的位置intSeqList::SeqListFind(ElemTypex){inti=0;while(ilength)return-1;elsereturni+1;}//判断顺序表是否为空intSeqList::SeqListIsEmpty(){if(length<=0)return0;elsereturn1;}//将顺序表显示在屏幕上voidSeqList::SeqListPrint(){if11、(!SeqListIsEmpty())cout<<"空表!"<12、;cout<<"5.删除第i个位置上的数值";cout<<"6.将两个顺序表合并";cout<<"7.退出";cout<>select;switch(select){case1:cout<<"请输入顺序表1的长度:";
10、--;-32-共36页数据结构与算法B上机实验报告}//查找元素x在表中的位置intSeqList::SeqListFind(ElemTypex){inti=0;while(ilength)return-1;elsereturni+1;}//判断顺序表是否为空intSeqList::SeqListIsEmpty(){if(length<=0)return0;elsereturn1;}//将顺序表显示在屏幕上voidSeqList::SeqListPrint(){if
11、(!SeqListIsEmpty())cout<<"空表!"<12、;cout<<"5.删除第i个位置上的数值";cout<<"6.将两个顺序表合并";cout<<"7.退出";cout<>select;switch(select){case1:cout<<"请输入顺序表1的长度:";
12、;cout<<"5.删除第i个位置上的数值";cout<<"6.将两个顺序表合并";cout<<"7.退出";cout<>select;switch(select){case1:cout<<"请输入顺序表1的长度:";
此文档下载收益归作者所有