quick.txt

来自「四种排序算法的比较」· 文本 代码 · 共 42 行

TXT
42
字号
#include "iostream.h"

void QuickSort(int *pData, int left, int right) 
{ 
	int i, j; 
	int middle, iTemp; 
	i = left; 
	j = right; 

	middle = pData[(left + right) / 2]; //求中间值 
	do 
	{ 
		while ((pData[i] < middle) && (i < right)) //从左扫描大于中值的数 
			i++; 
		while ((pData[j] > middle) && (j > left)) //从右扫描小于中值的数 
			j--; 
		if (i <= j) //找到了一对值 
		{ 
//交换 
			iTemp = pData[i]; 
			pData[i] = pData[j]; 
			pData[j] = iTemp; 
			i++; 
			j--; 
		} 
	} while (i <= j) ; //如果两边扫描的下标交错,就停止(完成一次) 

//当左边部分有值(left<j),递归左半边 

	if(left<j) 
		QuickSort (pData,left,j); 
//当右边部分有值(right>i),递归右半边 
	if(right>i) 
		QuickSort (pData,i,right);

}

void main()
{
	int source[15]={12,34,32,5,46,12,6,12,6,823,7,12,23};
	QuickSort(source,1,10);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?