⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 merges.cpp

📁 非常全的排序算法c实现
💻 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 + -