希尔排序
来源:互联网 发布:初学者学英语软件 编辑:程序博客网 时间:2024/06/16 06:33
/*
* 希尔排序是先选好增量,期间需要比较的数不只两个的时候采用直接插入排序法。
*/
package sort;
import java.util.Arrays;
public class ShellSort {
public static void shellSortSmallToBig(int[] data,int n) {
int d; //增量d
int i,j,x;
d=n/2;
while(d>=1){
for(i=d;i<n;i++){
x=data[i];//获取数列中的元素
j=i-d;//序列中的前一个数据,也就是需要和data[i]比较的元素
while(j>=0&&data[j]>x){
data[j+d]=data[j];
j=j-d;
}
data[j+d]=x;
}
d=d/2;
}
}
public static void main(String[] args) {
int[] data = new int[] { 26, 53, 67, 48, 57, 13, 48, 32, 60, 50 };
shellSortSmallToBig(data,data.length);
for(int i=0; i<data.length; i++){
System.out.print(data[i]+" ");
}
}
}
* 希尔排序是先选好增量,期间需要比较的数不只两个的时候采用直接插入排序法。
*/
package sort;
import java.util.Arrays;
public class ShellSort {
public static void shellSortSmallToBig(int[] data,int n) {
int d; //增量d
int i,j,x;
d=n/2;
while(d>=1){
for(i=d;i<n;i++){
x=data[i];//获取数列中的元素
j=i-d;//序列中的前一个数据,也就是需要和data[i]比较的元素
while(j>=0&&data[j]>x){
data[j+d]=data[j];
j=j-d;
}
data[j+d]=x;
}
d=d/2;
}
}
public static void main(String[] args) {
int[] data = new int[] { 26, 53, 67, 48, 57, 13, 48, 32, 60, 50 };
shellSortSmallToBig(data,data.length);
for(int i=0; i<data.length; i++){
System.out.print(data[i]+" ");
}
}
}
0 0
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- Eratosthenes筛法求素数表
- 通过GSON 解析Json数据,但是不创建JAVA Bean的方式,获取对应的值
- C#抽象方法和抽象类
- HDU 2955 Robberies(01背包)
- C++ 多态机制实现
- 希尔排序
- 在linux下编译cpp文件出现错误
- [网络流24题-4]cogs729 圆桌聚餐
- 迷宫寻路问题——一阶谓词逻辑
- Android退出应用
- jQuery
- Caffe依赖包解析
- 死锁
- 数据结构之排序算法