快速排序算法

来源:互联网 发布:青岛php培训学校 编辑:程序博客网 时间:2024/06/05 08:18
</pre><pre name="code" class="cpp">#include <iostream>#include <string>using namespace std;int partition(string &str, int lo, int hi){    char key = str[lo];    while (lo < hi)    {        for (hi; hi > lo; --hi)        {            if (str[hi] < key)            {                str[lo] = str[hi];                str[hi] = key;                lo += 1;                break;            }        }        for (lo; lo < hi; ++lo)        {            if (str[lo] > key)            {                str[hi] = str[lo];                str[lo] = key;                hi -= 1;                break;            }        }    }    return lo;}void quicksort(string &str, int lo, int hi){    if (lo < hi)    {        int k = partition(str, lo, hi);        quicksort(str, lo, k - 1);        quicksort(str, k + 1, hi);    }}int main(){    string str1 = "ytbsaz";    quicksort(str1, 0, 5);    cout << str1 << endl;    return 0;}