ShellSort

Posted lipin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ShellSort相关的知识,希望对你有一定的参考价值。

 

package Sort;

import java.util.Arrays;
/**
 * 希尔排序(Shellsort)也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序
 * 希尔排序:非稳定排序算法
 *
 * */

public class ShellSort 
    public static void main(String[] args) 
        int[] arr = new int[]8, 9, 1, 7, 2, 3, 5, 4, 6, 0;
        shellSort(arr);
        System.out.println("  " + Arrays.toString(arr));

    
    public static void shellSort(int[] arr) 
        int length = arr.length;
        int temp;
        for (int step = length / 2; step >= 1; step /= 2)  // 分组
            for (int i = step; i < length; i++)  // 遍历各个组
                temp = arr[i];
                int j = i - step;  // 找到组内的其他元素
                while (j >= 0 && arr[j] > temp) 
                    arr[j + step] = arr[j];
                    j -= step;
                
                arr[j + step] = temp;
            
        
    


  

以上是关于ShellSort的主要内容,如果未能解决你的问题,请参考以下文章

ShellSort 希尔排序

ShellSort uva

ShellSort

ShellSort

shellsort命令

ShellSort