📄 merges.cpp
字号:
/*归并--合并两个有序的序列*/
#include<iostream.h>//归并排序
#define MAXA 3
#define MAXB 4
#define MAXC 7
void merge(int A[], int Alen, int B[], int Blen, int C[]);
int main()
{
int i,*pa,*pb,*pc,n1,n2,n3,a[MAXA],b[MAXB],c[MAXC];
n1=MAXA;
n2=MAXB;
n3=MAXC;
pa=a;
pb=b;
pc=c;
cout<<"Input "<<n1<<" number for sorting(A) :"<<endl;
for(i=0;i<MAXA;i++)
{
cin>>a[i];
}
cout<<endl;
cout<<"Input "<<n2<<" number for sorting(B) :"<<endl;
for(i=0;i<MAXB;i++)
{
cin>>b[i];
}
cout<<endl;
merge(a,n1,b,n2,c);
cout<<"After insert_sort:"<<endl;
for(i=0;i<MAXC;i++)
{
cout<<c[i]<<" ";
}
cout<<endl;
return 0;
}
void merge(int A[], int Alen, int B[], int Blen, int C[])//归并排序
{
int i=0,j=0,k=0;
while(i<Alen&&j<Blen)//a,b数组都不为空
{
if(A[i]<B[j])
C[k++]=A[i++];
else
C[k++]=B[j++];
}
while(i<Alen)//如果b为空,a的后一部分直接给c
C[k++]=A[i++];
while(j<Blen)
C[k++]=B[j++];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -