归并排序

简介: 归并排序
#include <stdio.h>//展示数组(声明)voidsort(intarray[], intstart, intend);
//归并排序(声明)voidshow(intnum[], intlength);
intmain(void)
{
//初始化intarray[] = {5, 2, 4, 7, 1, 3, 2, 6},len=8;
printf("排序前:\n");
show(array, len);
//归并排序sort(array, 0, len-1);
printf("排序后:\n");
show(array, len);
}
//展示数组(声明)voidshow(intnum[], intlength)
{
for (inti=0; i<length; i++)
  {
printf("%3d", num[i]);
  }
printf("\n");
}
//归并排序(定义)voidsort(intarray[], intstart, intend)
{
//返回条件if (start==end)
  {
return;
  }
//定义左右边界intlstart=start, lend= (start+end) /2, rstart=lend+1, rend=end;
//排序左sort(array, lstart, lend);
//排序右sort(array, rstart, rend);
//左右归并for (inti=rstart; i<=rend; i++)
  {
intj=i-1, tmp=array[i];
while (array[j] >tmp&&j>=0)
    {
array[j+1] =array[j];
j--;
    }
array[j+1] =tmp;
  }
}
目录
相关文章
|
7月前
归并排序详解
归并排序详解
66 1
|
6月前
|
算法 搜索推荐 Java
归并排序就是这么容易
归并排序就是这么容易
42 2
|
7月前
|
存储 算法 搜索推荐
C++归并排序的实现
C++归并排序的实现
|
7月前
|
搜索推荐
归并排序是什么
归并排序是什么
20 归并排序
20 归并排序
44 0
|
存储 算法 搜索推荐
归并排序(看了就会)
归并排序(看了就会)
|
搜索推荐 算法 C#
C#——归并排序
C#——归并排序
156 0
|
算法
归并排序及小和问题(中)
归并排序及小和问题(中)
162 1
归并排序及小和问题(中)
|
算法
【2. 归并排序】
归并与快排不同: >快速排序: >- 分界点是随机数组里面的一个`数`来分,使得左边都是<= 这个数,右边 >= 这个数 (`数值`) >- 先分完,在分别递归俩边 > >归并排序: >- 先递归俩边,在进行合并操作 >- 分界点是`整个数组中间的位置`(`下标值`)
99 0
【2. 归并排序】