java如何实插入排序算法
小编给大家分享一下java如何实插入排序算法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1.算法的简单原理介绍
插入排序(Insertion-Sort)是一种最简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。也就是说,他是基于比较的排序。就是通过比较数组中的元素,看谁大谁小,根据结果来调整元素的位置。因此,对于这类排序,就有两种基本的操作:
①比较操作;
②交换操作。
2.插入排序的实现步骤
将第0个元素开始,该元素可以认为已经排序完成;
从下一个元素开始,从排序完成的元素开始由后往前扫描;
如果已经排序完成的元素大于新元素,则新元素前移;
重复3的步骤,直到已排序元素小于等于新元素;
将新元素插入到该元素后面;
重复以上步骤(2-5);
以上文字读起来可能比较难以理解,通过下面的动态图可以更好的理解。
简言之,就是从前往后,将小数据元素往前移。
3.插入排序的程序实现
举例分析如下:
以5,3,2,3排序过程如下:
---------------------------------------------------------------------------------------------------------------
第一趟:3 5 2 3
第0个元素5认为是排序完成的,从第1个元素开始,第1个元素和第0个元素比较,第1个元素小,所以前移;
---------------------------------------------------------------------------------------------------------------
第二趟:2 3 5 3
第2个元素2跟第1个元素5比较,小,所以第二个元素前移,再与第0个元素比较,还小,所以再前移;
---------------------------------------------------------------------------------------------------------------
第三趟:2 3 3 5
第3个元素,与第2个元素比较,小,所以第三个元素前移,再与前一个元素比较,不小于,所以不动,完成排序。
---------------------------------------------------------------------------------------------------------------
以上是"java如何实插入排序算法"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!