快速排序算法
来源:互联网 发布:青岛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;}