반응형

#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
블로그 이미지

KuroNeko_

KuroNeko

,