两个线性表合并

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个线性表合并相关的知识,希望对你有一定的参考价值。

数组方法(前提是两个顺序表都已排序,若未排序,则自己先排序再合并)

#include<iostream>
using namespace std;
//创建顺序表
void create(int A[],int length){
    for(int i=0;i<length;i++){
        cin>>A[i];
    }
}
//打印顺序表
void show(int A[],int length){
    cout<<A[0];
    for(int i=1;i<length;i++){
        cout<<‘ ‘<<A[i];
    }
    cout<<endl;
}
//合并顺序表
int MergeList(int A[],int la,int B[],int lb,int C[]){
    int i=0,j=0,k=0;
    while(i<la && j<lb){
        if(A[i]<B[j]){
            C[k++]=A[i++];
        } else {
            C[k++]=B[j++];
        }
    }
    while(i<la){
        C[k++]=A[i++];
    }
    while(j<lb){
        C[k++]=B[j++];
    }
    return k;
}
int main(){
    int A[20],B[20],C[40];
    int la,lb;
    //输入A,B的长度
    while(cin>>la>>lb){
        create(A,la);//创建顺序表A
        create(B,lb);//创建顺序表B
        int temp=MergeList(A,la,B,lb,C);
        show(C,temp);
    }
}

 

以上是关于两个线性表合并的主要内容,如果未能解决你的问题,请参考以下文章

两个线性表合并

基础数据结构-线性表-顺序表的合并操作

02-线性结构1 两个有序链表序列的合并

利用线性链表基本操作完成两个有序线性表的合并

线性结构习题1——两个有序链表序列的合并

02-线性结构1 两个有序链表序列的合并