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

问题描述:

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);
} 

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