分治法合并排序

分治法是递归的设计方法,理解成一回事好了。

一句话说清思路:

1.将两个已经排好序的数组进行合并,合并的时候也是按大小进行合并

2.将需要排序的数组进行拆分,分成左右两个数组,之后进行排序,然后进行合并

3.递推的停止条件为分开的数组只有一个数了。则不分左右。

#include "stdafx.h"
#include 
using namespace std;


void Show(int *p,int length)
{
	for(int i=0;i1)
	{
		int leftP=length/2;
		int rightP=length-leftP;
		Sort(pBuf,leftP,afterSortBuf);
		Sort(pBuf+leftP,rightP,afterSortBuf);
		Merage(pBuf,leftP,pBuf+leftP,rightP,afterSortBuf);
		for(int i=0;i>k;
	return 0;
}


你可能感兴趣的:(分治法合并排序)