两个线性表合并
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); } }
以上是关于两个线性表合并的主要内容,如果未能解决你的问题,请参考以下文章