2018.9.21 工作日记 顺序表的合并实现代码C++版

以前也都是用C#实现的顺序表的合并,今天还是用C++来实现以下。
思路分析:
实现一个顺序表的合并是比较简单的,既然要合并两个顺序表,可以通过借助一个新的顺序表,将要合并的两个顺序表的元素先放到新的顺序表当中,然后再实现排序就可以了。
实现代码:
//

// main.cpp
// 顺序表的合并操作
//
// Created by 追风筝的人 on 2018/9/21.
// Copyright © 2018年 追风筝的人. All rights reserved.
//
#define MAXSIZE 100
typedef int DataType;
typedef struct
{
DataType data[MAXSIZE];
int length;
}SeqList;
#include
using namespace std;
//这是添加方法,给顺序表添加元素。
void AddEle( SeqList &L,DataType item)
{
L.data[L.length]=item;
L.length++;
}
/*
写了一个函数去实现两个顺序表的合并已经排序的操作。
*/

void MergeList(SeqList LA,SeqList LB,SeqList &LC)
{
int i=0;
for (;i<LA.length;i++)
{
LC.data[i]=LA.data[i];
}
for (int n=0; n<LB.length; n++)
{
LC.data[n+LA.length]=LB.data[n];

}
LC.length=LA.length+LB.length;
//上面的顺序表的合并操作
//下面两个循环是对新的顺序表进行了一个排序。
for (int k=0; k<LC.length; k++)
{
    for (int m=0; m<LC.length-k-1; m++)
    {
        if (LC.data[m]>LC.data[m+1])
        {
            DataType temp;
            temp=LC.data[m];
            LC.data[m]=LC.data[m+1];
            LC.data[m+1]=temp;
            
        }
    
    }
}

}

int main(int argc, const char * argv[]) {
SeqList LA;
SeqList LB;
SeqList LC;
AddEle(LA, 1);
AddEle(LA, 2);
AddEle(LA, 5);
AddEle(LB, 1);
AddEle(LB, 4);
AddEle(LB, 4);
AddEle(LB, 7);
AddEle(LB, 8);
cout<<“合并后的顺序表为:”<<endl;
MergeList(LA, LB, LC);
for (int i=0; i<LC.length; i++)
{
cout<<LC.data[i]<<" ";
}
cout<<endl;

return 0;

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值