美文网首页
基于数组的插入排序

基于数组的插入排序

作者: cursorkey | 来源:发表于2021-05-05 12:30 被阅读0次

基于数组的插入排序,可以从头开始找,也可以从尾开始找,从头找需要两个循环或者一个buffer,从尾找的只用一个循环就可以,写起来相对简单。

// small -> big, tail -> head
void insert_sort(int a[], int aLen, int num) {
    int i; 
    for (i = aLen; i > 0; i--) {
        if (a[i-1] < num) {
            a[i] = num;
            return;
        }
        else {
            a[i] = a[i - 1];
        }
    }
    a[i] = num;
}

// big -> small, head -> tail
void insert_sort(int a[], int aLen, int num) {
    int i, j;
    for (i = 0; i < aLen; i++) {
        if (num > a[i]) {
            for (j = aLen-1; j > i; j--) {
                a[j] = a[j - 1];
            }
            a[i] = num;
            break;
        }
    }

相关文章

  • java 常见的 8 种排序算法(内排序)

    插入排序: 一,插入排序介绍 插入排序是基于比较的排序。所谓的基于比较,就是通过比较数组中的元素,看谁大谁小,根据...

  • JAVA插入排序

    一,插入排序介绍 插入排序是基于比较的排序。所谓的基于比较,就是通过比较数组中的元素,看谁大谁小,根据结果来调整元...

  • 插入排序

    一,插入排序介绍 插入排序是基于比较的排序。所谓的基于比较,就是通过比较数组中的元素,看谁大谁小,根据结果来调整元...

  • 十大排序算法——希尔排序

    主要思想: 基于插入排序,交换不相邻的元素已对数组的局部进行排序,并最终用插入排序将局部有序的数组排序。思想是使数...

  • 基于数组的插入排序

    基于数组的插入排序,可以从头开始找,也可以从尾开始找,从头找需要两个循环或者一个buffer,从尾找的只用一个循环...

  • 《算法4第二章》笔记(三)希尔排序

    算法说明 希尔排序是基于插入排序的一种快速的排序算法。它的思想是使数组中的任意间隔为h的元素都是有序的。这样的数组...

  • 插入排序

    升序排 对数组进行插入排序 对线性表进行插入排序

  • 希尔排序

    基于插入排序的希尔排序

  • 【数据结构】插入排序

    插入排序代码 插入排序,将数组分为两部分:有序,和无序的部分。如下面数组array={2, 5, 7, 4, 1,...

  • day11-希尔排序&快速排序&归并排序

    希尔排序(优化的插入排序) 使用思想:缩小增量排序。对数组进行预排序,再进行插入排序。 小数字在数组最后的的话,在...

网友评论

      本文标题:基于数组的插入排序

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