您的位置:首页 > 编程语言 > Java开发

Java八大排序算法之希尔排序

2017-08-19 20:31 253 查看

插入排序之希尔排序,直接贴一个简单的demo。

package com.ysk.charu;

public class xierpaixu {
public void shellsort() {
int a[] = { 49, 38, 65, 97, 76, 2, 1, 5, 3, 9 };
double d1 = a.length;
int temp = 0;
while (true) {
d1 = Math.ceil(d1 / 10);
int d = (int) d1;
for (int x = 0; x < d; x++) {
System.out.println("============");
for (int i = x + d; i < a.length; i += d) {
System.out.println("i:" + i + " " + "d:" + d);
int j = i - d;
temp = a[i];
System.out.println("temp:  " + temp + " a[" + i + "] " + a[i]);
for (; j >= 0 && temp < a[j]; j -= d) {
System.out.println("a[" + j + " + " + d + "]+" + "的值换为" + "a[" + j + "]");
a[j + d] = a[j];
}
a[j + d] = temp;
}
}
if (d == 1) {
break;
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: