排序算法---归并排序

本文介绍了归并排序的基本思想,包括将数组递归地分成两部分,然后比较并合并较小的数组来创建有序结果。重点讲解了归并排序的递归实现,通过实例阐述了如何将小数组合并成有序大数组的过程。
摘要由CSDN通过智能技术生成

一、归并排序的思想:

1.每次将一组数分为两组,直到不能再分为止;

2.从个数最小的数组开始比较,每次将比较大(或小)的数放入辅助数组中,辅助数组的下标+1,如此循环,直到有一个数组比较完,此时如果另外一个数组有剩余,就将剩余的这些数字全部按顺序加入辅助数组中。从最小的数组向上一步步累加,如果每次小的数组有序,那么合并以后的数组就有序。(下面这幅图给出的是一种分割两个数组的方法,分的时候最好从中间分)


二、归并排序的递归实现

void _MergeSort(int* a,int* tmp,int left,int right)
{
	int mid = left + ((right-left)>>1);	//每次找到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值