/*归并排序

Posted lijianmin6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了/*归并排序相关的知识,希望对你有一定的参考价值。

/*归并排序
    即将两个都升序(或降序)排列的数据合并
成一个仍案原序列排列的序列。
例子1、有一个含有6个数据升序序列和一个含有4个数据
的升序序列,将二者合并成一个含有10个数据的额升序序列
*/
#include<stdio.h>
#define m 6
#define n 4
int main(int argc,char const *argv[])
{
    int a[m]={-3,6,19,26,68,100};
    int b[n]={8,10,12,22};
    int i,j,k,c[m+n];
    i=j=k=0;
    while(i<m&&j<n)//将a、b数组中较小的数依次存放到c数组中
    {
        if(a[i]<b[i])
        {
            c[k]=a[i];
            i++;
        }else
        {
            c[k]=b[j];
            j++;
        }
        k++;
        while(i>=m&&j<n)
        {
            c[k]=b[i];
            k++;
            j++;
        }
        while(j>=n&&i<m)
        {
            c[k]=a[i];
            k++;
            i++;
        }
    }
    for(i=0;i<m+n;i++)
    {
        printf("%d ",c[i]);
    }
    return 0;
}
//-3 6 8 10 12 22 19 26 68 100















































以上是关于/*归并排序的主要内容,如果未能解决你的问题,请参考以下文章

常见排序算法之归并排序——归并排序

归并排序

归并排序(递归非递归以及自然归并排序)算法总结

排序算法——归并排序

归并排序(逆序数问题)详解

归并排序及其应用场景