快排模板C++

#include<bits/stdc++.h>
using namespace std;

void QuickSort(int a[],int left,int right){
    
    
	if(left>right){
    
    
		return ;
	}
	int i = left;
	int j = right;
	int flag = a[left];
	while(i!=j){
    
    
			while(a[j]>flag && i<j){
    
    
			j--;
		}
		while(a[i]<=flag && i<j){
    
    
			i++;
		}
		int temp = 0;
		swap(a[i],a[j]);
	}	
	a[left] = a[i];
	a[i] = flag;			
	QuickSort(a,left,i-1);
	QuickSort(a,i+1,right);
}
int arr[100007];
int main(){
    
    
	int i,n;
	cin>>n;
	for(i=0;i<n;i++){
    
    
		cin>>arr[i];
	}
	QuickSort(arr,0,n-1);
	for(i=0;i<n;i++){
    
    
		cout<<arr[i]<<" ";
	}
	cout<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_45253216/article/details/109393631