C++ 合并顺序表

来源:百度知道 编辑:UC知道 时间:2024/06/25 21:26:12
题目是:有顺序表A和B,它们的数据元素均按从小到大升序,编写程序将这两个顺序表合并成一个顺序表C,要求C的数据元素也是从小到大排列

这是我做的,做的好差滴,而且结果还算不对。。
你们谁能帮我改一下啊,要不就给我重新写一个吧。。
十分感谢啊。。
程序忘记发了。。晕死。。
下面1楼的就是我编的。。

首先说明一点,我手上的教科书这样定义线性表:顺序表示的线性表成为顺序表,即用一组地址连续的存储单元依次存储线性表的元素。可能你写的这个称为单链表更合适。我个人的习惯是用c++的模板类来定义数据结构,不知道你习惯不?我按题目要求写下这个,也在vc6.0调试通过了。
第二:我的算法,把A和B插入C,然后定义一个排序函数,实现了C的数据元素从小到大排列。
第三:我没有把线性表的其他函数写进去,因为这个题目不需要,如果你有什么还要了解的话,可以发消息给我。
如果把分给我,我会很开心!去教室了 2009-3-2 11:53:07
#include<iostream.h>
template <class T>
class SeqList
{
int maxLength;
int n;
public:
T *elements;
SeqList(int mSize);
~SeqList(){delete []elements;}
bool Insert(int i,T x);
int Length()const;
void Output(ostream& out)const;
};
template<class T>
SeqList<T>::SeqList(int mSize)
{
maxLength=mSize;
elements=new T[maxLength];
n=0;
}
template<class T>
bool SeqList<T>::Insert(int i,T x)
{if(i<-1||i>n-1)
{cout<<"Out of Bounds"<<endl;return false;}
if(n==maxLength)
{
cout<<"OverFlow"&