高效排序c++-快速排序-高效排序

时间:2024-10-14 22:41:23

算法

在这里插入图片描述

代码

#include<iostream>
using namespace std;
//数组两边都是闭区间,从0开始,最后一位结束。 
void csort(int* start,int* end){
	if(start>=end)
		return;
	int temp =*start;
	int* p=start;
	int* q=end;
	while(1){
		while(p<q && *q>=temp)
			q--;
		if(p==q) break;
		*p = *q;
		++p;
		while(p<q && *p<temp) 
			p++;
		if(p==q) 
			break;
		*q-- = *p;
	}
	*p =temp;
	csort(start,q-1);
	csort(q+1,end);
} 
void print(int* data,int n){
	for(int i=0;i<n;i++)
		cout<<data[i]<<" ";
	cout<<endl;
}
int main(){
	int a[]=
	csort(a,a+sizeof(a)/sizeof(int)-1);
	print(a,sizeof(a)/sizeof(int));
	return 0;
}