shell排序 java实现

6人阅读 评论(0) 收藏 举报
分类:
package com.algorithm.charactor1;

import java.util.Arrays;

/**
 * 希尔排序和 插入排序 基本差不多,间隔 交换
 */
public class ShellSort {

	public static void main(String[] args) throws InterruptedException {
		
		Integer [] arr = {3,5,2,1,5,6,4};
		
		
		int j = 0;
		//第一层循环  计算需要 排序的小数组
		for (int inteval = arr.length/2; inteval>0; inteval/=2) {
			
			//第二层循环 比较  当前小组累加间隔
			for (int i = inteval; i < arr.length ; i++) {
				Integer temp =  arr[i]; 
				//第三层循环,进行插入操作
				for ( j = i; j >=inteval && temp.compareTo(arr[j-inteval]) <0; j -=inteval) {
						arr[j] = arr[j-inteval];
				}
				arr[j] = temp;
			}
		}
		System.out.println(Arrays.toString(arr));
	}
	
}

查看评论

《Java + JDBC + Freemarker引擎实现代码生成器》

本主要是针对有一定基础的Java学员。本课程主要是围绕着如何根据公司具体的技术架构,手把手的实现一个强大的代码生成器。该生成器主要包括如果根据数据库表,自动生成 Model 文件,DTO 文件,DAO 文件,MyBatis的 Mappter 文件,Service 文件,Controller文件等等,包括基本的增删改查,分页,搜索查询等等接口代码自动生成。
  • 2017年06月10日 02:38

java排序之shell排序

之前的几篇关于排序的算法都是比较简单的排序,虽然不一定可以写出来,但是一眼就可以看懂,接下来的几篇的排序可能就需要仔细思考一下,或者画图描绘一下了,这篇文章讲的死shell排序,也叫增量排序,它的本质...
  • justperseve
  • justperseve
  • 2016-04-27 20:36:01
  • 970

Java实现Shell排序算法

Shell排序算法
  • YHYR_YCY
  • YHYR_YCY
  • 2016-06-06 09:21:07
  • 785

经典算法与数据结构的c++实现——shell排序算法

因为是经典的算法,所以网上描述一大把,直接上个图,直观些,给记性不好的菜鸟(如我)一点儿提示。 shell排序算法,是插入算法的一种改进,降低时间复杂度,不同选取gap的方式将改变算法的实现,我...
  • y277an
  • y277an
  • 2016-03-17 20:47:52
  • 515

shell排序算法的C/C++实现

主要是递归过程 每次改变步长d,初始d为数组的长度的一半,每次减少一半。 #include /* Name: Copyright: Author: @dujianjian ...
  • dujian996099665
  • dujian996099665
  • 2012-11-14 11:43:26
  • 1618

排序算法系列:Shell 排序算法

概述希尔排序(Shell Sort)是 D.L.Shell 于 1959 年提出来的一种排序算法,在这之前排序算法的时间复杂度基本都是 O(n2n^{2}) 的,希尔排序算法是突破这个时间复杂度的第一...
  • u013761665
  • u013761665
  • 2016-04-12 00:54:00
  • 4648

shell排序法的C++实现

shell排序算法: shell排序算法的时间复杂度为o(n2),本文中的间隔每次除以2,若修改时间间隔,那么就可以得到更加优化的时间代价 shell排序算法基于插入排序的两个性质: 1、小序列...
  • wang11chao01
  • wang11chao01
  • 2012-07-27 15:57:12
  • 1550

C# shell排序

shell排序///   /// shell sort  ///   /// 待排序数组  /// 移动元素次数  public static void ShellSort(ref int[] des...
  • alldoc
  • alldoc
  • 2006-07-18 15:54:00
  • 478

排序算法三:Shell插入排序

在我的博文《“主宰世界”的10种算法短评》中给出的首个算法就是高效的排序算法。本文将对排序算法做一个全面的梳理,从最简单的“冒泡”到高效的堆排序等。上一篇博文《排序算法二:二分(折半)插入排序》讲述了...
  • LG1259156776
  • LG1259156776
  • 2015-09-24 23:21:24
  • 2092

利用选择排序为shell排序提速

偶然发现可以利用选择排序成为shell排序的内部排序方法,于是记下笔记。 实际上应该还有其他方案,稍后再研究...
  • yellowFARF
  • yellowFARF
  • 2016-07-30 15:11:19
  • 265
    个人资料
    持之以恒
    等级:
    访问量: 1738
    积分: 300
    排名: 25万+