简单插入排序
Posted gikin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单插入排序相关的知识,希望对你有一定的参考价值。
原理:遍历数列,从后往前扫描元素,逐个比较,把元素在应当的位置插入,同时后面的元素逐个后移让位,构建出有序数列
算法描述:【1】将第一个元素设为已排序。
【2】取出数列的下一个元素从后往前与已排序的序列逐渐比较。
【3】若取出的元素比已排序的元素小,则已排序元素向后移动让位,直到找到比取出的元素小或相等的元素或者前面无元素时,将这个元素插入比其小的元素的后面。
【4】重复【2】【3】步骤
动图演示:
代码演示:
int currentE; for (int i = 0; i < array.length - 1; i++) currentE = array[i+1]; int tampIndex = i; while (tampIndex >= 0 && currentE < array[tampIndex]) array[tampIndex + 1] = array[tampIndex]; tampIndex--; array[tampIndex + 1] = currentE;
以上是关于简单插入排序的主要内容,如果未能解决你的问题,请参考以下文章
插入排序(直接插入排序希尔排序);交换排序(冒泡排序快速排序);选择排序(简单选择排序堆排序);归并排序和基数排序;基于关键词比较的排序算法下界分析