首页 > 编程语言 > 详细

希尔排序

时间:2016-09-18 21:02:18      阅读:177      评论:0      收藏:0      [点我收藏+]
 1 /**
 2  * 功能:希尔排序
 3  */
 4 public class ShellSort {
 5 
 6     public int[] shellSort(int[] array) {
 7 
 8         int increment = array.length;
 9         int temp = 0;
10         int index = 0;
11 
12         do {
13             // 分组的步长
14             increment = increment / 3 + 1;
15 
16             for (int i = increment; i < array.length; i++) {
17 
18                 // 每一组数进行插入排序
19                 temp = array[i];
20                 index = i;
21                 for (int j = i - increment; j >= 0; j -= increment) {
22                     if (array[j] > temp) {
23                         array[j + increment] = array[j];
24                         index = j;
25                     }
26                 }
27                 array[index] = temp;
28             }
29 
30         } while (increment > 1);
31 
32         return array;
33     }
34 }

 

希尔排序

原文:http://www.cnblogs.com/jiangyi-uestc/p/5882960.html

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