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

快排算法----挖坑法

作者: _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://blog.csdn.net/yzllz001/article/details/509828...

  • 快排算法

    这里对快速排序做一下总结(之前在写时间复杂度和空间复杂度时候想到的。) 1. 思想 快排的思想就是说,选定数组中第...

  • 【算法】快排

    1.时间复杂度 2.快排

  • 2018-07-13

    快速排序算法 快排普通版本: 快排优化版本: 测试代码:

  • Java算法——快排算法

  • all

    算法与数据结构 常见算法类型 排序算法(冒泡、插入、选择、快排、希尔、堆排、归并、桶排、基数、计数)、字符串操作、...

  • 排序算法-快排

    1. 快排基本特征: 时间复杂度:O(nlogn)最坏:O(n^2) 空间复杂度: O(nlogn) 不稳定排序 ...

  • 快排【算法导论】

    注:学习算法导论,按照标准伪代码理解翻译为java实现,如有兴趣理解整个过程的细节,建议阅读《算法导论》第7章:快...

网友评论

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

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