数据结构C++合并两个顺序表实验

合并两个顺序表主要是将两个数组存入一个新的顺序表中,并实现排序,删除重复元素等等基本操作。在时间复杂度上并没有特别去注意,只是以实现目的为主。

下面是代码执行部分:

#include<iostream>
using namespace std;
const int maxsize=10;
class seqlist
{
    public:
        seqlist()                                   //初始化 
        {
            length=0;
        }
        seqlist(int a[],int n)                        //构造 
        {
            for(int i=0;i<n;i++)
                data[i]=a[i];
            length=n;
        }
        void he(int a[],int n,int b[],int s)        //合并两个数组 
        {
            for(int i=0;i<s;i++)
                a[n+i]=b[i];
        }
        void pai()                                    //排序 
        {
            int t;
            for(int j=0;j<length-1;j++)
                for(int i=0;i<length-1-j;i++)
                    if(data[i]>data[i+1])
                    {
                        t=data[i];
                        data[i]=data[i+1];
                        data[i+1]=t; 
                    }
        }
        void Delete()                                //删除相同元素 
        {
            for(int i=0;i<length;i++)
                for(int j=i+1;j<length;j++)
                    if(data[i]==data[j])
                    {
                    	for(int s=j;s<length;s++)
                        {
                        	data[s]=data[s+1];
						}
						i=0;length--;
					}
        }
        void print()                                //输出 
        {
            for(int i=0;i<length;i++)
                cout<<data[i]<<" ";
        }
    private:
        int length;
        int data[maxsize];
 }; 
int main()
{
    int r[5]={1,6,9,4,5},s[3]={5,2,3};
    seqlist l;l.he(r,5,s,3);
    seqlist L(r,8);
    try
	{L.pai();
    L.Delete();
	 } 
	 catch(char*s)
	 {
	 	cout<<s;
	 }
	L.print();
}

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值