Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32396
  • 博文数量: 35
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 360
  • 用 户 组: 普通用户
  • 注册时间: 2021-09-17 18:39
文章分类

全部博文(35)

文章存档

2021年(35)

我的朋友

分类: C/C++

2021-09-30 11:28:27

用c++实现两个有序(从小到大)顺序表合并成为一个顺序表,合并后的结果放在第一个顺序表中(假设这两个有序顺序表中没有相同的元素)
#include
#include
using namespace std;
bool compare(short x,short y)
{return x class List
{
private:
    short num;
public:
    short*factor;
    short GetLength(){return num;}
    void Input()
    {
        short i;
        for(i=0;i         {
            cin>>factor[i];
        }
        sort(factor,factor+num,compare);
    }
    List(short n)
    {
        num=n;
        factor=new short[n];
        for(short i=0;i             factor[i]=0;
    }
    ~List(){delete factor;factor=NULL;}
    void Show()
    {
        for(short i=0;i             cout<     }
    void Add(List<)
    {
        short i;short*p;p=factor+num;
        p=new short[lt.GetLength()];
        for(i=num;i<(num+lt.GetLength());i++)
        {
            factor[i]=lt.factor[i-GetLength()];
        }
        num=num+lt.GetLength();
        sort(factor,factor+num,compare);
    }
};
int main()
{
    List l(3);
    l.Input();
    l.Show();
    cout<     List t(3);
    t.Input();
    l.Add(t);
    l.Show();
    return 0;
}
阅读(749) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~