• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-01-01
  • 语言: C/C++
  • 标签: 归并排序  

资源简介

这是关于归并排序算法用C语言实现的代码,是经过测试正确的,希望能对大家的学习有所帮助。

资源截图

代码片段和文件信息

#include 
#include 
#include  
#define N 10
int a[N]b[N];
/*a[N]是一个全局数组,它含有两个放在a[low]到a[mid]和a[mid+1]到a[high]中
*的已分类的子集合,目标时将这两个已分类的集合归并成一个集合,并放在a[N]中
*使用一个辅助数组b[N]
*/

void MERGE(int lowint midint high); //函数声明

void MERGESORT(int lowint high)
{   
    if(low    {
        int mid = (int)((low+high)/2); //求这个集合的分割点
        MERGESORT(lowmid);          //将一个子集合分类
        MERGESORT(mid+1high);       //将另一个子集合分类
        MERGE(lowmidhigh);         //归并两个已分类的子集合
    }    
}

void MERGE(int lowint midint high)
{   //low<=mid    int hijk;
    h=low;
    i=low;
    j=mid+1;
    while(h<=mid&&j<=high)//当两个集合都没有取尽时
    {
        if(a[h]<=a[j])
        {
            b[i]=a[h];
            h=h+1;
        }
        

评论

共有 条评论