数据结构c语言题目 求大神解一下。 100
数据结构c语言题目求大神解一下。设计并验证以下算法:设顺序表A和B中的数据元素为整数且单调递增有序,将这两张表合并成顺序表C1顺序表C单调递减有序2根据键盘输入数据建立顺...
数据结构c语言题目
求大神解一下。设计并验证以下算法:设顺序表A和B中的数据元素为整数且单调递增有序,将这两张表合并成顺序表C
1顺序表C单调递减有序
2根据键盘输入数据建立顺序表A和B
输出顺序表A,B和C 展开
求大神解一下。设计并验证以下算法:设顺序表A和B中的数据元素为整数且单调递增有序,将这两张表合并成顺序表C
1顺序表C单调递减有序
2根据键盘输入数据建立顺序表A和B
输出顺序表A,B和C 展开
2个回答
2016-09-21
展开全部
#include<iostream>
using namespace std;
const int MaxSize=200;
class SeqList
{ public:
SeqList(int a[],int n);
int Length();
void Insert(int b[],int length2);
void PrintList();
private:
int data[MaxSize];
int length;
};
SeqList::SeqList(int a[],int n)
{int i;
if(n>MaxSize)throw"
参数非法
";
for(i=0;i<n;i++)
data[i]=a[i];
length=n;
}
int SeqList::Length()
{
return length;
}
void SeqList::Insert(int b[],int length2)
{ int j,h,i=0;
for( j=0;j<length&&i<length2;++j)
{if(b[i]<data[j])
{ for(h=length;h!=j;--h)
data[h]=data[h-1];
data[j]=b[i];
++length;
++i;
}
else if(j==length-1&&b[i]>data[length-1])
{
data[length]=b[i];
length++;
++i;
}
}
}
void SeqList::PrintList()
{for(int i=0;i<length;i++)
cout<<data[i]<<" ";
cout<<endl;
}
void main()
{
int a[6]={1,5,8,10,15,21};
int b[3]={6,13,18};
SeqList s(a,6);
SeqList c(b,3);
cout<<"
合并前的顺序表
A"<<endl;
s.PrintList();
cout<<"
合并前的顺序表
B"<<endl;
c.PrintList();
cout<<"
合并后的顺序表
C"<<endl;
int x=c.Length();
s.Insert(b,x);
s.PrintList();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询