码迷,mamicode.com
首页 > 编程语言 > 详细

研磨数据结构与算法-08希尔排序

时间:2015-09-21 01:54:18      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:public

希尔排序:

/*

 * 希尔排序

 */

public class ShellSort {

/**

* 排序方法

*/

public static void sort(long[] arr) {

//初始化一个间隔

int h = 1;

//计算最大间隔

while(h < arr.length / 3) {

h = h * 3 + 1;

}

while(h > 0) {

//进行插入排序

long tmp = 0;

for(int i = h; i < arr.length; i++) {

tmp = arr[i];

int j = i;

while(j > h - 1 && arr[j - h] >= tmp) {

arr[j] = arr[j - h];

j -= h;

}

arr[j] = tmp;

}

//减小间隔

h = (h - 1) / 3;

}

}

}

测试:

public class TestShellSort {

public static void main(String[] args) {

long[] arr = new long[10];

arr[0] = 90;

arr[1] = 12;

arr[2] = 23;

arr[3] = 15;

arr[4] = -4;

arr[5] = 1;

arr[6] = 97;

arr[7] = 4;

arr[8] = 3;

arr[9] = 8;

System.out.print("[");

for(long num : arr) {

System.out.print(num + " ");

}

System.out.print("]");

System.out.println();

ShellSort.sort(arr);

System.out.print("[");

for(long num : arr) {

System.out.print(num + " ");

}

System.out.print("]");

System.out.println();

}

}


本文出自 “8159085” 博客,请务必保留此出处http://8169085.blog.51cto.com/8159085/1696505

研磨数据结构与算法-08希尔排序

标签:public

原文地址:http://8169085.blog.51cto.com/8159085/1696505

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!