快速排序学习笔记

使用快排也有一年多了,在此给出快排一个自己写的最简单的版本吧~

Conference:http://www.cnblogs.com/foreverking/articles/2234225.html

 

SourceCode:

void quicksort (vector <int>& v, int left, int right) {

    if (left < right) {

        int key = v[left];  //可随机化优化

        int low = left;

        int high = right;

        while (low < high) {

            while (low < high && v[high] > key) --high;

            v[low++] = v[high];

            while (low < high && v[low] < key)  ++low;

            v[high--] = v[low];

        }

        v[low] = key;

        quicksort (v, left, low - 1);

        quicksort (v, low + 1, right);

    }

}

  

你可能感兴趣的:(快速排序)