반응형
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
template<typename var>
void Swap(var *des, var *src){
var temp = *des;
*des = *src;
*src = temp;
}
template<typename var>
void quick_sort(var arr[], int left, int right){
if(left > right)
return;
var pivot = arr[left];
var temp;
int l = left + 1, r = right;
while(l <= r){
while(arr[l] <= pivot) l++;
while(arr[r] > pivot) r--;
if(l > r) break;
// Swap
Swap(&arr[l], &arr[r]);
}
Swap(&arr[r], &arr[left]);
quick_sort(arr, left, r-1);
quick_sort(arr, r+1, right);
}
'Programming > 자료구조' 카테고리의 다른 글
[자료구조] Fenwick Tree(Binary Indexed Tree) (0) | 2016.03.03 |
---|---|
버블 소팅(Bubble Sorting) (0) | 2015.08.06 |