数据结构第一章

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#include
using namespace std;
const int maxsize=14; //14个数据,随机定义
template
class seqlist
{
public:
seqlist(){length=0;} //无参,空顺序表
seqlist(datatype a[],int n); //有参,长度为n的顺序表
~seqlist(){} //析构函数,空
int Length(){return length;} //求线性表长度
datatype get(int i); //按位置查找第i个元素
int locate(datatype x); //按值查找,找值为x的序号
void Insert(int i,datatype x); //插入,i位置,值为x
datatype Delete(int i); //删除i位置的值
void printlist(); //依次输出
private:
datatype data[maxsize]; //存放数据元素的数组
int length; //线性表的长度
};
template //输入数据
seqlist::seqlist(DataType a[],int n)
{
int i;
if(n>maxsize)throw"参数非法";
for(i=0;i<n;i++)
data[i]=a[i];
length=n;
}
template //按位置查找
datatype seqlist::get(int i)
{
if(i<1||i>length)throw"查找位置非法";
else return data[i-1];
}
template //按数值查找
int seqlist::locate(datatype x)
{
for(int i=0;i<length;i++)
{
if(data[i]x)
return i+1; //查找结束
}
return 0; //退出循环
}
template //插入
void seqlist::Insert(int i,datatype x)
{
int j;
if(length>=maxsize)throw"上溢";
if(i<1||i>length+1)throw"位置";
for(j=length;j>=i;j–)
data[j]=data[j-1];
data[i-1]=x;
length++;
}
template //删除
datatype seqlist::Delete(int i)
{
int j;
datatype x;
if(length
0)throw"下溢";
if(i<1||i>length)throw"位置";
x=data[i-1];
for(j=i;j<length;j++)
data[j-1]=data[j];
length–;
return x;
}
template //输出
void seqlist::printlist()
{
int i;
for(i=0;i<length;i++)
cout<<data[i]<<" “;
cout<<”\n";
}
int main()
{
int i,a[6],b[8],c; 定义两个数组,c为输入的数,i作为循环
for(i=0;i<6;i++)
{
cin>>c;
a[i]=c;
}输入a
for(i=0;i<8;i++)
{
cin>>c;
b[i]=c;
}输入b
seqlists(a,6);定义s和h
seqlisth(b,8);
s.printlist();
h.printlist();输出s,h的数值
int j,x;
for(j=1;j<=h.Length();j++)
{
x=h.get(j);
if(s.locate(x)==0)
s.Insert(1,x);
}从h中依次取值,去s寻找,求并集
s.printlist();输出s,即为并集结果
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值