⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 quicksort.cpp

📁 快速排序、堆排序、冒泡排序等各种排序算法
💻 CPP
字号:
#include "StdAfx.h"
#include ".\quicksort.h"

CQuickSort::CQuickSort(void)
{
}

CQuickSort::~CQuickSort(void)
{
}

void CQuickSort::Sort(int* pData, int nLen)
{
	this->QuickSort(pData,0,nLen-1);
}

void CQuickSort::QuickPass(int* pData, int nStart, int nEnd, int& nMid)
{
	int nLow,nHigh;
	nLow=nStart;
	nHigh=nEnd;

	int nTemp = pData[nLow];
	while(nLow < nHigh){
		while((nLow<nHigh) &&(pData[nHigh] > nTemp))
			nHigh--;
		pData[nLow] = pData[nHigh]; 
		while((nLow<nHigh) &&(pData[nLow] <= nTemp))
			nLow++;
		pData[nHigh] = pData[nLow];
	}
	pData[nLow] = nTemp;
	nMid = nLow;
}

void CQuickSort::QuickSort(int* pData, int nStart , int nEnd)
{
	if(nStart >= nEnd)
		return;

	int nMid;
	this->QuickPass(pData,nStart,nEnd,nMid);
	this->QuickSort(pData,nStart,nMid-1);
	this->QuickSort(pData,nMid+1, nEnd);
}

⌨️ 快捷键说明

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