欢迎来到天天文库
浏览记录
ID:12152158
大小:268.09 KB
页数:41页
时间:2018-07-15
《数据结构上机指导书(第6版)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、上机指导实验一实验名称线性表的顺序存储实验日期实验目的1.掌握线性表的顺序存储结构。2.能熟练利用顺序存储结构实现线性表的基本操作。3.能熟练掌握线性表创建、插入、删除、查找和显示线性表中元素等基本操作。实验内容1.建立含有不少于3个元素的顺序表,并将结果在屏幕上输出。2.对刚建立的顺序表实现插入、删除、查找,并将结果在屏幕上输出。3.设计一个选择式菜单。算法描述:#include"iostream.h"constintmaxsize=1024;//maxlen表示线性表允许的最大长度#defineelemtypeintstructsequenlist{elemtypea[maxsize]
2、;//表示线性表(a1,a2,….,an)intlen;//len表示线性表的实际长度};intlength(sequenlistL)//求顺序表的长度length(L){returnL.len;}//插入运算Insert(&L,x,i),线性表L的第i个位置上插入一个值为x的新元素voidInsert(sequenlist&L,elemtypex,inti){}41//删除运算Delete(&L,i),线性表L中删除序号为i的数据元素voidDelete(sequenlist&L,inti){}voidsetnull(sequenlist&L)//置空表setnull(&L){L.len
3、=0;}/*定位算法Locate(L,x),表L中查找值为x的数据元素,其结果返回在L中首次出现的值为x的那个元素的序号或地址,称为查找成功;否则,在L中未找到值为x的数据元素,返回一特殊值表示查找失败。*/intLocate(sequenlistL,elemtypex){intj=1;while((j<=L.len)&&(L.a[j]!=x))j++;if(j<=L.len)returnj;elsereturn0;}//取元素Get(L,i),返回线性表L中序号为i的数据值elemtypeGet(sequenlistL,inti){if((i<1)
4、
5、(i>L.len))returnNU
6、LL;elsereturnL.a[i];}voidprint(sequenlistL)//打印线性表 {inti;for(i=1;i<=L.len;i++)41cout<7、 *";cout<<"tt*3----删 除 *";cout<<"tt*4----查 找 *";cout<<"tt*5----显 示 *";cout<<"tt*0----返 回 *";cout<<"tt*******************************";cout<<"tt请选择菜单项0-5:";cin>>k;switch(k){case1:setnull(L);//初始化线性表break;case2://在线性表第i位置处插入值为X的元素cout<<"请输入插入的位置i:";cin>>i;co8、ut<<"请输入数据X:";cin>>x;Insert(L,x,i);break;case3://删除线性表中值为X的元素cout<<"请输入要删除元素的位置i:";cin>>i;Delete(L,i);break;case4://查找线性表中元素值为x的位置cout<<"请输入要查找的数值X:";cin>>x;j=Locate(L,x);if(j!=0){print(L);cout<<"中值为X所在的位置是"<9、e(k!=0);}实验数据实验心得教师评语优良中及格不及格批改日期41实验二实验名称线性表的链式存储实验日期实验目的1.掌握线性表的链式存储结构。2.能熟练利用链式存储结构实现线性表的基本操作。3.能熟练掌握链式存储结构中算法的实现。实验内容1.用头插法或尾插法建立带头结点的单链表,并在屏幕上输出显示此链表。2.实现单链表上的插入、删除、修改、查找、计数等操作,并将结果在屏幕上输出。3.设计一个选择式菜单。算法描述:#i
7、 *";cout<<"tt*3----删 除 *";cout<<"tt*4----查 找 *";cout<<"tt*5----显 示 *";cout<<"tt*0----返 回 *";cout<<"tt*******************************";cout<<"tt请选择菜单项0-5:";cin>>k;switch(k){case1:setnull(L);//初始化线性表break;case2://在线性表第i位置处插入值为X的元素cout<<"请输入插入的位置i:";cin>>i;co
8、ut<<"请输入数据X:";cin>>x;Insert(L,x,i);break;case3://删除线性表中值为X的元素cout<<"请输入要删除元素的位置i:";cin>>i;Delete(L,i);break;case4://查找线性表中元素值为x的位置cout<<"请输入要查找的数值X:";cin>>x;j=Locate(L,x);if(j!=0){print(L);cout<<"中值为X所在的位置是"<9、e(k!=0);}实验数据实验心得教师评语优良中及格不及格批改日期41实验二实验名称线性表的链式存储实验日期实验目的1.掌握线性表的链式存储结构。2.能熟练利用链式存储结构实现线性表的基本操作。3.能熟练掌握链式存储结构中算法的实现。实验内容1.用头插法或尾插法建立带头结点的单链表,并在屏幕上输出显示此链表。2.实现单链表上的插入、删除、修改、查找、计数等操作,并将结果在屏幕上输出。3.设计一个选择式菜单。算法描述:#i
9、e(k!=0);}实验数据实验心得教师评语优良中及格不及格批改日期41实验二实验名称线性表的链式存储实验日期实验目的1.掌握线性表的链式存储结构。2.能熟练利用链式存储结构实现线性表的基本操作。3.能熟练掌握链式存储结构中算法的实现。实验内容1.用头插法或尾插法建立带头结点的单链表,并在屏幕上输出显示此链表。2.实现单链表上的插入、删除、修改、查找、计数等操作,并将结果在屏幕上输出。3.设计一个选择式菜单。算法描述:#i
此文档下载收益归作者所有