码迷,mamicode.com
首页 > 其他好文 > 详细

两个线性表合并

时间:2016-11-11 01:25:14      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:length   顺序表   长度   include   输入   cout   ace   turn   while   

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

#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);
    }
}

 

两个线性表合并

标签:length   顺序表   长度   include   输入   cout   ace   turn   while   

原文地址:http://www.cnblogs.com/-beyond/p/6052785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!