实验一顺序表验证实验Word文档格式.docx
《实验一顺序表验证实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验一顺序表验证实验Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
classT>
//定义模板类SeqList
classSeqList
{
public:
SeqList(){length=0;
}//无参构造函数
SeqList(Ta[],intn);
//有参构造函数
voidInsert(inti,Tx);
//在线性表中第i个位置插入值为x的元素
TDelete(inti);
//删除线性表的第i个元素
intLocate(Tx);
//按值查找,求线性表中值为x的元素序号
voidPrintList();
//遍历线性表,按序号依次输出各元素
private:
Tdata[MaxSize];
//存放数据元素的数组
intlength;
//线性表的长度
};
四、
其次,建立含有n个数据元素的顺序表,即设计构造函数。
算法如下:
最后,对建立的顺序表设计插入、删除、查找等基本操作的算法。
⑴插入算法
⑵删除算法
⑶查找算法
(c)编码
#include<
iostream>
stdlib.h>
usingnamespacestd;
constintMaxSize=50;
classSeqList{
SeqList(){length=0;
}
SeqList(chara[],intn){
if(n>
MaxSize)throw"
参数非法"
;
for(inti=0;
i<
n;
i++)
data[i]=a[i];
length=n;
}
~SeqList(){}
intLength(){returnlength;
charGet(inti){
if(i<
1&
&
i>
length)throw"
查找位置非法"
elsereturndata[i-1];
intLocate(charx){
length;
if(data[i]==x)returni+1;
return0;
voidInsert(inti,charx){
if(length>
=MaxSize)throw"
上溢"
1||i>
length+1)throw"
位置"
for(intj=length;
j>
=i;
j--)
data[j]=data[j-1];
data[i-1]=x;
length++;
charDelete(inti){
if(length==0)throw"
下溢"
if(i<
length)throw"
charx=data[i-1];
for(intj=i;
j<
j++)
data[j-1]=data[j];
length--;
returnx;
voidPrintList(){
cout<
<
data[i]<
endl;
chardata[MaxSize];
voidmain()
intxh1,xh2,xh3;
charx[10],xm1,xm2;
cout<
"
输入需要记录的数据:
for(inti=0;
10;
i++){
cin>
>
x[i];
SeqListstudentx(x,10);
表长为:
studentx.Length()<
输入数据位置:
cin>
xh1;
查找的数据为:
studentx.Get(xh1)<
输入需要查找的数据:
xm1;
该数据位置为:
studentx.Locate(xm1)<
添加数据,输入位置:
xh2;
输入数据:
xm2;
studentx.Insert(xh2,xm2);
删除数据,输入位置:
xh3;
删除结果为:
studentx.Delete(xh3)<
输出数据:
studentx.PrintList();
五、运行与调试
(a)在调试程序的过程中遇到什么问题,是如何解决的?
数据类型定义错误,将int改为char解决。
(b)设计了哪些设计数据?
测试结果是什么?
(c)程序运行的结果如何?
六、实验小结
由于有上学期学习c++语言的基础,所以本次试验比较容易,主要是通过实验过程掌握线性表的顺序存储结构,验证顺序表及其基本操作的实现以及掌握数据结构及算法的程序实现的基本方法。
WelcomeTo
Download!
!
欢迎您的下载,资料仅供参考!