欢迎来到天天文库
浏览记录
ID:38706131
大小:107.00 KB
页数:5页
时间:2019-06-18
《数据结构实验一线性表的顺序存储结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一:线性表的顺序存储结构实验学时:2实验类型:验证一、实验目的:1.熟练掌握线性表的基本操作在顺序存储和链式存储上的实现;2.以线性表的各种操作(建立、插入、删除等)的实现为重点;3.掌握线性表的动态分配顺序存储结构的定义和基本操作的实现;二、实验内容:1.输入一组整型数据,建立顺序表。2.实现该线性表的删除。3、实现该线性表的插入。4.实现线性表中数据的显示。5.实现线性表数据的查找和定位5、编写一个主函数,调试上述算法。三、实验原理、方法和手段1.根据实验内容编程,上机调试、得出正确的运行程序。2.编译运行程序,观察运行情况和输出结果。3.写出实验报告(包括源程序和运行结果)。四、实验
2、条件运行Visualc++的微机一台五、实验步骤(程序清单):(一)、程序代码:#include"stdafx.h"#includeusingnamespacestd;typedefintelemtype;structlist{elemtype*p;intsize;intmaxsize;};voidbuildlist(list&a,intb)/*建立顺序表*/{if(b<=0){cout<<"数据有误"<3、size=b;}voidclearlist(list&a)/*清空线性表*/{if(a.p!=NULL){delete[]a.p;a.p=NULL;}a.maxsize=0;a.size=0;}boolinsertlist(list&a,intpos,elemtypeb)/*向线性表中按给定的位置插入一个元素*/{inti;if(pos<=04、5、pos-1>a.size){cout<<"位置无效"<6、e=2*a.maxsize;}for(i=a.size;i>=pos;i--)a.p[i]=a.p[i-1];a.p[i]=b;a.size++;returntrue;}booldeletelist(list&a,intpos)/*向线性表中按给定的位置删除一个元素*/{if(a.size==0){cout<<"线性表为空,删除无效!"<7、8、pos>a.size){cout<<"位置无效"<9、f(float(a.size)10){a.p=(elemtype*)realloc(a.p,a.maxsize*0.5*sizeof(*(a.p)));a.maxsize=a.maxsize*0.5;}returntrue;}boolgetlist(lista,intpos,elemtype&item)/*得到线性表中指定位置的元素*/{if(pos<=010、11、pos>a.size){cout<<"位置无效"<12、mtypeb)/*从线性表中查找具有给定值的第个元素*/{for(inti=0;i13、a,b,c;buildlist(L,5);for(intj=0;j<10;j++){insertlist(L,j+1,i);i--;}display(L);cout<>pos;cout<<"数据:";cin>>a;if(insertlist(L,pos,a))cout<<"插入成功"<
3、size=b;}voidclearlist(list&a)/*清空线性表*/{if(a.p!=NULL){delete[]a.p;a.p=NULL;}a.maxsize=0;a.size=0;}boolinsertlist(list&a,intpos,elemtypeb)/*向线性表中按给定的位置插入一个元素*/{inti;if(pos<=0
4、
5、pos-1>a.size){cout<<"位置无效"<6、e=2*a.maxsize;}for(i=a.size;i>=pos;i--)a.p[i]=a.p[i-1];a.p[i]=b;a.size++;returntrue;}booldeletelist(list&a,intpos)/*向线性表中按给定的位置删除一个元素*/{if(a.size==0){cout<<"线性表为空,删除无效!"<7、8、pos>a.size){cout<<"位置无效"<9、f(float(a.size)10){a.p=(elemtype*)realloc(a.p,a.maxsize*0.5*sizeof(*(a.p)));a.maxsize=a.maxsize*0.5;}returntrue;}boolgetlist(lista,intpos,elemtype&item)/*得到线性表中指定位置的元素*/{if(pos<=010、11、pos>a.size){cout<<"位置无效"<12、mtypeb)/*从线性表中查找具有给定值的第个元素*/{for(inti=0;i13、a,b,c;buildlist(L,5);for(intj=0;j<10;j++){insertlist(L,j+1,i);i--;}display(L);cout<>pos;cout<<"数据:";cin>>a;if(insertlist(L,pos,a))cout<<"插入成功"<
6、e=2*a.maxsize;}for(i=a.size;i>=pos;i--)a.p[i]=a.p[i-1];a.p[i]=b;a.size++;returntrue;}booldeletelist(list&a,intpos)/*向线性表中按给定的位置删除一个元素*/{if(a.size==0){cout<<"线性表为空,删除无效!"<7、8、pos>a.size){cout<<"位置无效"<9、f(float(a.size)10){a.p=(elemtype*)realloc(a.p,a.maxsize*0.5*sizeof(*(a.p)));a.maxsize=a.maxsize*0.5;}returntrue;}boolgetlist(lista,intpos,elemtype&item)/*得到线性表中指定位置的元素*/{if(pos<=010、11、pos>a.size){cout<<"位置无效"<12、mtypeb)/*从线性表中查找具有给定值的第个元素*/{for(inti=0;i13、a,b,c;buildlist(L,5);for(intj=0;j<10;j++){insertlist(L,j+1,i);i--;}display(L);cout<>pos;cout<<"数据:";cin>>a;if(insertlist(L,pos,a))cout<<"插入成功"<
7、
8、pos>a.size){cout<<"位置无效"<9、f(float(a.size)10){a.p=(elemtype*)realloc(a.p,a.maxsize*0.5*sizeof(*(a.p)));a.maxsize=a.maxsize*0.5;}returntrue;}boolgetlist(lista,intpos,elemtype&item)/*得到线性表中指定位置的元素*/{if(pos<=010、11、pos>a.size){cout<<"位置无效"<12、mtypeb)/*从线性表中查找具有给定值的第个元素*/{for(inti=0;i13、a,b,c;buildlist(L,5);for(intj=0;j<10;j++){insertlist(L,j+1,i);i--;}display(L);cout<>pos;cout<<"数据:";cin>>a;if(insertlist(L,pos,a))cout<<"插入成功"<
9、f(float(a.size)10){a.p=(elemtype*)realloc(a.p,a.maxsize*0.5*sizeof(*(a.p)));a.maxsize=a.maxsize*0.5;}returntrue;}boolgetlist(lista,intpos,elemtype&item)/*得到线性表中指定位置的元素*/{if(pos<=0
10、
11、pos>a.size){cout<<"位置无效"<12、mtypeb)/*从线性表中查找具有给定值的第个元素*/{for(inti=0;i13、a,b,c;buildlist(L,5);for(intj=0;j<10;j++){insertlist(L,j+1,i);i--;}display(L);cout<>pos;cout<<"数据:";cin>>a;if(insertlist(L,pos,a))cout<<"插入成功"<
12、mtypeb)/*从线性表中查找具有给定值的第个元素*/{for(inti=0;i13、a,b,c;buildlist(L,5);for(intj=0;j<10;j++){insertlist(L,j+1,i);i--;}display(L);cout<>pos;cout<<"数据:";cin>>a;if(insertlist(L,pos,a))cout<<"插入成功"<
13、a,b,c;buildlist(L,5);for(intj=0;j<10;j++){insertlist(L,j+1,i);i--;}display(L);cout<>pos;cout<<"数据:";cin>>a;if(insertlist(L,pos,a))cout<<"插入成功"<
此文档下载收益归作者所有