首页 > 编程语言 > 详细

插入排序

时间:2016-08-13 22:31:50      阅读:202      评论:0      收藏:0      [点我收藏+]

插入排序,某一位置的数与前面已排好序的数从后向前比较,直到找到正确的位置。

 1 private static int[] insertSort(int[] arr) {
 2         int j=0;   
 3         if (arr==null||arr.length<2) {
 4             return arr;
 5         }
 6         // 将arr分成有序区和无序区,初始有序区有一个元素
 7         // 0-(i-1) 为有序区;i-(length-1)为无序区 (i从1开始)
 8         for (int i = 1; i < arr.length; i++) {
 9             int tmp=arr[i];        //将位置i的值储存在tmp中
10             for (j = i; j>0&&arr[j-1]>tmp; j--) 
11                 arr[j]=arr[j-1];    //    如果已排好序的值比tmp大,则该元素移到下一位置
12             arr[j]=tmp;  //将tmp放在正确的位置上
13         }
14         return arr;
15     }

 

插入排序

原文:http://www.cnblogs.com/peng111/p/5768978.html

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