博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java数据结构与算法(六) 希尔排序
阅读量:5960 次
发布时间:2019-06-19

本文共 1539 字,大约阅读时间需要 5 分钟。

###一、希尔排序的产生

希尔排序(Shell Sort)是的一种。也称缩小排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。

###二、希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率。 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。

public static void main(String [] args){    int[]a={49,38,65,97,76,13,27,49,78,34,12,64,1};        System.out.println("排序之前:");        for(int i=0;i
=0&&a[j]>temp;j=j-d) { a[j+d]=a[j]; } a[j+d]=temp; } } if(d==1) { break; } } System.out.println(); System.out.println("排序之后:"); for(int i=0;i

或者

package com.fantj.dataStruct.shellSort;/** * Created by Fant.J. * 2017/12/21 20:49 */public class ShellSort {    /**     * 排序方法     */    public static void sort(long []arr){        //初始化一个间隔        int h =1;        //计算最大间隔        while (h < arr.length/3){            h = h * 3 + 1;        }        while (h > 0){            //进行插入排序            long temp = 0;            for (int i = 1; i< arr.length ;i++){                temp = arr[i];                int j = i;                while (j>h-1 && arr[j-h] >= temp){                    arr[j] = arr[j-1];                    j -= h;                }                arr[j] = temp;            }            //减小间隔            h = (h -1) / 3;        }    }}复制代码

转载地址:http://wkfax.baihongyu.com/

你可能感兴趣的文章
使用Disk2VHD进行P2V转换需要知道的一些事
查看>>
PHP图片处理库Grafika详细教程(2):图像特效处理模块
查看>>
LXD 2.0 系列(八):LXD中的LXD
查看>>
安装WMware 在Windows平台下学习Linux
查看>>
NodeJS对于Java开发者而言是什么?
查看>>
2016 软件开发的七大趋势:容器技术将统治世界
查看>>
IDC:2020年企业将在网络安全上花费1016亿美元
查看>>
【独家】新智元×出门问问六问六答:获大众 1.8 亿美元后准备做什么
查看>>
苹果在国贸改造了一套房 智能家居圈都慌了!
查看>>
一年400元,监控APP让你知道对方的所有隐私
查看>>
《VMware Virtual SAN权威指南(原书第2版)》一1.2 软件定义的存储
查看>>
《UNIXLinux程序设计教程》一3.3 设置描述字的文件位置
查看>>
云服务器 ECS 建站教程:部署RabbitMQ
查看>>
微软承诺2018年前数据中心将使用50%可再生能源
查看>>
互联网+新生活:智慧城市建设的亳州样本
查看>>
这是一个国内只有寥寥数人懂得的云计算技术
查看>>
告别“看家护院” 银行安防需树立“大安全”观
查看>>
物联网崛起,新技术如雨后春笋般
查看>>
用户为中心:华为消费者云服务背后揭示了啥?
查看>>
太阳能2017年首季业绩“预喜”
查看>>