C语言 合并两个升序的数组,成升序的数组

发布时间 2023-04-23 15:33:57作者: myrj
#include <stdio.h>
// 两路合并法把两个已按升序排列的数组合并成一个升序数组 
main()
{
   int a[3]={10,13,15};
   int b[5]={2,4,6,7,8};
   int c[10],i=0,j=0,k=0;
   while(i<3 && j<5)
   if(a[i]>b[j]) 
   {
           c[k]=b[j];k++;j++;
   }
   else
   {
           c[k]=a[i];k++;i++;
   }
   while(i<3) 
   {
           c[k]=a[i];i++;k++;
   }
   while(j<5)
   {
           c[k]=b[j];k++;j++;
   }
   for(i=0;i<8;i++)
       printf("%d ",c[i]); 
 }