데이터 구조 와 알고리즘 의 빠 른 정렬

 .      : 
  
 

1. , ( , , ), ,( , )

2. , ( , ) , ( ), , ( ), , , ( ) 。 : , , 。

3. , , , ( ), , 1,,2 , , , , 。

#include<iostream>
using namespace std;
//    
int arr[15]={11,22,45,71,2,3,5,7,9,0,14,1,4,12,6};

int partition( int low, int high){
	int pivotpos=low;
	for(int i=low+1;i<=high;i++){
	if(arr[i]<arr[low]){
		pivotpos++;
		if(i!=pivotpos)
			swap(arr[pivotpos],arr[i]);
   	}
	}
	swap(arr[pivotpos],arr[low]);
	return pivotpos;
}

void quicksort(const int left,const int right){
	if(left<right){
	int pos=partition(left,right);
	quicksort(left,pos-1);
	quicksort(pos+1,right);
	}
}

void swap(int &a,int &b){
	int temp=a;
	a=b;
	b=temp;
}
void show(){
	for(int j=0;j<15;j++) 
		cout<<arr[j]<<" ";
	cout<<endl;
}
int main(){
quicksort(0,14);
cout<<"        :"<<endl;
show();
}

좋은 웹페이지 즐겨찾기