@chawuciren
        
        2018-11-14T13:46:23.000000Z
        字数 590
        阅读 691
    未分类
用数组实现
#include<stdio.h>#include<stdlib.h>void merge(int array[],int n,int a[],int l1,int b[],int l2);int main(){int a[3]={1,3,5};int b[4]={2,4,6,8};int array[7]={0};//接收结果的数组merge(array,7,a,3,b,4);for(int i=0;i<7;i++){printf("%d ",array[i]);}return 0;}void merge(int array[],int n,int a[],int l1,int b[],int l2){int j=0;int i=0;int k=0;n=l1+l2;while(i!=l1&&j!=l2){//当两个数组都不为空时if(a[i]>b[j]){array[k]=b[j];j+=1;k+=1;}else{array[k]=a[i];i+=1;k+=1;}}if(i<l1){//当b为空,将a数组余下的元素接在array后for(int h=i;h<l1;h++){array[k]=a[h];k+=1;}}if(j<l2){//当a为空for(int h=j;h<l2;h++){array[k]=b[h];k+=1;}}}
