美文网首页
排序算法----常见的排序算法

排序算法----常见的排序算法

作者: Bury丶冬天 | 来源:发表于2017-12-14 17:25 被阅读0次
算法分类 各算法特性

1.冒泡排序

void bubbleSort(int a[], int length) {
    int temp;
    for (int i = 0; i < length - 1; ++i) {
        for (int j = 0; j < length - 1 - i; ++j) {
            if (a[j] > a[j + 1]) {
                temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
}

2.简单选择排序

void selectionSort(int a[], int length) {
    int temp, minIndex;

    for (int i = 0; i < length - 1; ++i) {

        //假设  a[i]  是当前最小值
        minIndex = i;

        //找数组后面是否还有  比 min更小的数
        for (int j = i + 1; j < length; ++j) {

            //如果  当前考察位置(a[j])  小于  a[minIndex]   则更新  索引
            if (a[j] < a[minIndex]) {
                //更新索引
                minIndex = j;
            }
        }

        //交换
        if (minIndex != i) {
            temp = a[i];
            a[i] = a[minIndex];
            a[minIndex] = temp;
        }
    }
}

3.直接插入排序

/**
 * 经典插入排序
 * @param arr
 * @param length
 */
void insertionSort(int *arr, int length) {
    int temp;
    for (int i = 1; i < length; ++i) {
        for (int j = i; j > 0 && arr[j - 1] > arr[j]; --j) {
            temp = arr[j - 1];
            arr[j - 1] = arr[j];
            arr[j] = temp;
        }
    }
}

/**
 * 优化的插入排序
 * @param arr
 * @param length
 */
void insertionSort1(int *arr, int length) {
    for (int i = 1; i < length; ++i) {
        int e = arr[i], j;
        for (j = i; j > 0 && arr[j - 1] > e; --j) {
            arr[j] = arr[j - 1];
        }
        arr[j] = e;
    }
}

4.快速排序

快速排序

5.堆排序

堆排序

6.希尔排序

希尔排序

7.归并排序

归并排序

8.基数排序

基数排序

相关文章

  • 数据结构与算法

    常见排序算法 堆排序 算法大全 算法大汇总

  • LeetCode大全

    1.常见排序算法: 常见的排序算法:冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序、堆排序、计数排序、...

  • 排序算法

    常见的排序算法 常见的排序算法有:插入、希尔、选择、冒泡、归并、快速、堆排序。。。 插入排序 算法步骤一、从数组的...

  • Python知识点:常见算法的python实现

    提到排序算法,常见的有如下几种:冒泡排序、选择排序、插入排序、快速排序、堆排序、归并排序、希尔排序;查找算法最常见...

  • 排序算法(四) 希尔排序(插入排序的进化)

    参考Java排序算法(四):希尔排序常见排序算法 - 希尔排序 (Shell Sort) 希尔排序算法是按其设计者...

  • 排序算法

    排序算法 排序是最基本的算法之一,常见的排序算法有插入排序、希尔排序、选择排序、冒泡排序、堆排序、归并排序及快速排...

  • 开发者应该掌握的几种排序算法

    该篇文章主要介绍了算法基础以及几种常见的排序算法:选择排序、插入排序、冒泡排序、快速排序、堆排序。 一、算法基础 ...

  • Python排序算法有哪几种?

    python排序算法有哪些?python中常见的排序算法有:插入排序、选择排序、冒泡排序、快速排序、归并排序、希尔...

  • 排序算法

    常见排序算法比较 参考资料:各种排序算法比较 参考资料:快速排序算法 必须知道的八大种排序算法【java实现】(一...

  • Rust数据结构——排序算法(一)

    Rust数据结构——排序算法(一) 0x01 常见的排序算法 排序算法是数据结构中很常见的算法。如果你了解过数据结...

网友评论

      本文标题:排序算法----常见的排序算法

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