转载:第二题 int q_sort_process(vector<int>& v, int left, int right) {     int l = left + 1;     int r = right - 1;     while (l <= r) {         while (v[l] <= v[left] && l <= r) {             l++;         }         while (v[r] >= v[left] && l <= r) {             r--;         }         if (l <= r) {             swap(v[l], v[r]);         }     }       swap(v[r], v[left]);     for (int i = 0; i < v.size(); i++) {         cout << v[i] << " ";     }     cout << endl;     return r; } void q_sort(vector<int> &v,int left,int right) {     if (left + 1 < right) {         int mid = q_sort_process(v, left, right);         q_sort(v, left, mid);         q_sort(v, mid+1, right);     } } int main() {     int n;     while (cin >> n) {         vector<int> v(n, 0);         for (int i = 0; i < n; i++) {             cin >> v[i];         }         q_sort(v, 0, n);     }     return 0; }