美文网首页
快排算法----挖坑法

快排算法----挖坑法

作者: _saule | 来源:发表于2017-10-25 10:52 被阅读0次

    教科书算法:

    [图解快速排序]

    觉得比较好的算法(有点争议,但是可以参考):

    [坐在马桶上看算法:快速排序]

    本人代码:

    #include <iostream>
    using namespace std;
    void quickSort(int *A, int k, int l);
    int main() {
        int A[] = { 9, 5, 0, 2, 8, 3, 1, 6, 7, 4 };
        for (int i = 0; i < 10; i++){
            cout << A[i] << "\t";
        }
        cout << "\n ========================" << endl;
        int k = 0, l = 9;
        quickSort(A, k, l);
        for (int i = 0; i<10; i++){
            cout << A[i] << endl;
        }
        return 0;
    }
    
    void quickSort(int *A, int k, int l){
        int k1 = k;
        int l1 = l;
        if (l - k <1) return;
        int temp = A[k];
        while (k < l){
            while (A[l] >= temp && k<l){
                l--;
            }
            A[k] = A[l]; k++;
    
            while(A[k]<=temp && k<l){
                k++;
            }
            A[l] = A[k]; l--;
    
        }
    
        int x = k;
        A[k] = temp;
        quickSort(A, k1, x-1);
        quickSort(A, x+1, l1);
        return;
    }
    

    相关文章

      网友评论

          本文标题:快排算法----挖坑法

          本文链接:https://www.haomeiwen.com/subject/ndxqpxtx.html