希尔排序_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 希尔排序

希尔排序

 2017/9/7 16:08:56  knight_black_bob  程序员俱乐部  我要评论(0)
  • 摘要:算法逻辑算法动画importjava.util.Arrays;/***<pre>*步骤1:比如现在有数组{82,31,29,71,72,42,64,5,110}第一次取增量设置为array.length/2=4*先从82开始以4为增量遍历直到末尾,得到(82,42)排序得到{42,31,29,71,72,82,64,5,110}。*然后从第二个数31开始重复上一个步骤,得到(31,64)排序得到{42,31,29,71,72,82,64,5,110}......
  • 标签:

?

?

算法逻辑 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 算法动画



?
?

?

class="java" name="code">import java.util.Arrays;

/**
 * <pre>
 *  步骤1:比如现在有数组{82 ,31 ,29 ,71, 72, 42, 64, 5,110}   第一次取增量设置为array.length/2 = 4    
 *  先从82开始以4为增量遍历直到末尾,得到(82,42) 排序得到{42 ,31 ,29 ,71, 72, 82, 64, 5,110}。 
 *  然后从第二个数31开始重复上一个步骤,得到(31,64) 排序得到{42 ,31 ,29 ,71, 72, 82, 64, 5,110}.......  
 *   以4为增量的遍历完数组之后,得到的结果是{42 ,31,5,71,72,82,64,29,110}
 * 然后重新区增量,这儿设定为incrementNum/2 = 2,对{42 ,31,5,71,72,82,64,29,110}重复步骤1。  
 *  完事之后,在取新的增量,重复步骤1。 直到取到的增量小于1,退出循环。
 * </pre>
 * 博客詳細 
 * http://blog.csdn.net/jianyuerensheng/article/details/51258460
 * 图片详细
 * http://img.blog.csdn.net/20160426213625152
 * @author baoy
 *
 */
public class ShellSort {

	public static void main(String[] args) {
		int[] data = new int[] { 26, 53, 67, 48, 57, 13, 48, 32, 60, 50 }; 
		shellsort(data); 
	}

	public static void shellsort(int[] a) {
		for (int increment = a.length / 2; increment > 0; increment /= 2) {
			for (int k = 0; k < increment ; k++) {
				for (int i = k; i < a.length; i += increment) {
					for (int j = i + increment; j < a.length; j += increment) {
						if (a[i] > a[j]) {
							swap(a, i, j);
						}
					}
				}
			}
			System.out.println(Arrays.toString(a));
		} 
	} 
	
	public static int[] swap(int[] a, int i, int j) {
		int temp = a[i];
		a[i] = a[j];
		a[j] = temp;
		return a;
	}
}

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

捐助开发者?

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。

?

个人主页:http://knight-black-bob.iteye.com/



?
?
?谢谢您的赞助,我会做的更好!

  • 大小: 47.2 KB
  • 大小: 741 KB
  • 查看图片附件
  • 相关文章
发表评论
用户名: 匿名