`
gmleegmlee
  • 浏览: 116505 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java实现 希尔排序

阅读更多
package net.okren.java.sort;
import java.util.*;
public class ShellSort {
	
	public static void shellSort(Comparable[] data){
		int j;
		for(int gap = data.length / 2; gap > 0; gap /= 2){
			for(int i = gap; i < data.length; i++){
				Comparable temp = data[i];
				for(j = i; j >= gap && temp.compareTo(data[j - gap]) < 0; j -= gap){
					data[j] = data[j - gap];
				}
				
				data[j] = temp;
			}
		}
	}
	
	public static void main(String[] args){
		Random r = new Random();
		Comparable[] data = new Comparable[20];
		for(int i = 0; i < data.length; i++){
			data[i] = r.nextInt(data.length);
		}
		
		for(int i = 0; i < data.length; i++)
			System.out.print(data[i] + " ");
		
		shellSort(data);
		System.out.println();
		
		for(int i = 0; i < data.length; i++)
			System.out.print(data[i] + " ");
	}

}
分享到:
评论
2 楼 wayswssb 2011-12-04  
不好意思 看错了 应该是正确的。。。
1 楼 wayswssb 2011-12-04  
这算法有问题 感觉 为什么每次都拿temp比较呢

相关推荐

Global site tag (gtag.js) - Google Analytics