首页 > 编程语言 > 详细

【排序算法】插入排序算法Java实现

时间:2021-08-15 11:49:36      阅读:26      评论:0      收藏:0      [点我收藏+]

1、插入排序基本思想

类似于我们打扑克,维持一个有序序列,刚开始有序序列是空。

每次从无序的数组中取出一个数据,插入有序的序列中,使有序序列仍然保持有序。

2、插入排序的特点

时间复杂度:O(n2), 稳定,适用于少量数据,如果已经部分排序好,要插入一个数据,则用插入排序再好不过了

3、Java实现代码

public int[] insertSort(int[] arr){

    for(int i=1; i<arr.length; i++){
//要插入的数据
int insertValue = arr[i];
//被插入的位置
int index = i-1; while(index >= 0 && insertValue < arr[index]){
     //将arr[index]向后移动 arr[index
+1] = arr[index];
     //将index向前移动 index
--; }
     //将插入的数据放入合适的位置 arr[index
+1] = insertValue; } }
以上代码单纯理解可能很抽象,建议用实际的数组模拟一遍,看看每一步的变化
如 arr = [6,2,5,8,7]

 

【排序算法】插入排序算法Java实现

原文:https://www.cnblogs.com/gslgb/p/15142889.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!