一)算法介绍
Gnome排序(地精排序)也称侏儒排序,是一个比较简单的稳定排序算法。
描述:它和插入排序算法非常类似,都是将元素移动到合适的位置,并通过一系列交换完成的。
特点:地精排序只有一层循环,在大部分数据是有序的情况下,可以减少交换的回合数。
二)算法原理
基本原理:
第一步:先初始化一个移动指针index,默认大小为1。
第二步:判断数据是否有交换,如果数据有交换就index--,数据没有交换就index++。
第三步:不断重复第二步操作,当index大于数据长度是,表示排序已完成。
算法步骤图解:
源数据:(从右往左方向判断)
第一轮排序:先判断3<9,交换3和9的位置,index减1