经典排序之插入排序

Posted 一辈子的码农先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了经典排序之插入排序相关的知识,希望对你有一定的参考价值。

本文在CSDN同步更新


终于讲到插入排序了!!!哈哈哈!!!这个我特别熟悉!!!大家看张图就明白了!!!


这个我熟啊!斗地主、炸金花、K 5 10、378Q469J、五张牌、跑得快、老鼠搬家......讲到玩牌我就停不下来,可以玩的花样实在是太多了!

那么插入排序和扑克牌有什么关系呢?

其实我们平时抓牌的方式就是插入排序,每抓一张牌就需要将新的牌插入到原先的牌中,最终得到一首排好序的牌,这样有利于我们更好地看清楚自己的牌。当然,老手有自己的排序方式,不一定是从小到大牌,这个我们表去不谈。

当然,每次抓到新牌后需要与原先的序列进行比较,这样非常耗时,所以如果数量比较大的话,可以使用二分查找来帮助减少比较的次数,这就形成了一种新的排序方式:二分查找插入排序

    public static void insertionSort(int[] array) {
for (int i = 1; i < array.length; i++) {
int key = array[i];
int j = i - 1;
while (j >= 0 && array[j] > key) {
array[j + 1] = array[j];
j--;
}
array[j + 1] = key;
}
}

从代码可以看出,每次将array[i]的元素往有序数组array[0]~array[i-1]中插入,得到一个崭新的有序数组。

好了,插入排序就为大家讲到这了,下期更精彩,我们下期见~

往期文章:





以上是关于经典排序之插入排序的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#十大经典排序之:插入排序 |希尔排序

十大经典排序之冒泡,选择,插入排序

经典排序之插入排序

经典十大排序算法之8种内部常见排序算法

经典排序之希尔排序

经典排序算法系列之插入排序和希尔排序----小白理解(python)