qq_37444095 2019-09-17 23:45 采纳率: 33.3%
浏览 207
已采纳

我写的快速排序算法,大佬们帮我看看有啥问题吗,感谢

void quickSort(vector<int> &a, int l, int r) {
    if (r <= l) {
        return;
    }
    int left = l, right = r;
    //第一个数为基准
    int sta = a[left];
    while (left < right) {
        while (a[right] > sta) {
            right--;
        }
        if (left < right) {
            swap(a[left], a[right]);
        }
        while (a[left] < sta) {
            left++;
        }
        if (left < right) {
            swap(a[left], a[right]);
        }
    }
    //此时left和right都等于基准的索引
    quickSort(a, l, left - 1);
    quickSort(a, right + 1, r);
} 
  • 写回答

1条回答 默认 最新

  • JonathanYan 2019-09-18 10:26
    关注

    没问题。。。。。。。。。。。。。。。。。。。。。。。。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?