快排伪代码

一、单向扫描法:

快排伪代码_第1张图片

#include
#include
using namespace std;
void quickSort(int arr[],int p,int r){
	int partition(int arr[],int p,int r);
	if(p

二、双向扫描法:

#include
#include
#include
using namespace std;
int  partition2(int arr[],int p,int r){
	int priority=arr[p];   //设置一个主元为初始端 
	int left=p+1;          //从p+1开始 
	int right=r;           //以r结束 
	while(left<=right){
		while(left<=right&&arr[left]<=priority) left++;
		while(left<=right&&arr[right]>priority) right--;
		if(leftright left(将数组中right与p所指向的数进行交换) 
	return right;
}
void quickSort(int arr[],int p,int r){
	if(p>n;
	for(int i=0;i>a[i];
	}
	quickSort(a,0,n-1);
	for(int i=0;i

三、三分法:

你可能感兴趣的:(算法与数据结构)