java语言实现插入排序以及希尔排序
插入排序
这里仅仅默认是对整数数组做排序,实现的是从小到大的排序。首先对插入排序而言,它的具体实现机制是首先默认第一个数是按照正常顺序排序的,然后将输入的数据依次与之前的数据进行比较,若与该数值相邻的数小,则将之前数值填在该数值所在的位置,然后再将该数值与前2个数值进行比较,知道没有比该数大的数值为止。最终将该数值放在停止比较的数据位置。
具体参考博文链接: https://blog.csdn.net/hearwindcrying/article/details/80147219
希尔排序(Shell)
该排序算法可以看做是对插入排序的一个改进,它将输入的数据分为多个组,然后组内依次进行排序,完成一轮后;改变GAP数值后,缩小范围再次进行循环排序,最终将GAP值锁定在1的位置,并且由于经过多轮数据的提前排序后,最终利用插入排序能最大程度上提高算法的运行速度
具体参考博文:Shell排序