其他分享
首页 > 其他分享> > 希尔排序

希尔排序

作者:互联网




1 package com.java.leetcde.category.sort; 2 3 import jdk.nashorn.internal.runtime.FindProperty; 4 5 import java.util.Arrays; 6 7 8 public class ShellSort { 9 public static void main(String[] args) { 10 int[] arr = new int[] {5, 7, 4, 3, 7, 3, 9, 1, 0}; 11 System.out.println(Arrays.toString(arr)); 12 ShellSort(arr); 13 System.out.println(Arrays.toString(arr)); 14 } 15 public static void ShellSort(int[] arr) { 16 for(int d = arr.length/2; d > 0; d/=2) {//d是间隔,不断缩小,然后每组进行排序 17 for(int i = d; i < arr.length; i++) {//对于每组数据来说,假设前面元素已经排序好 18 if (arr[i]<arr[i-d]){//对本组数据来说,如果存在非序,则进行插入排序 19 int temp=arr[i]; 20 int j; 21 for (j=i-d;j>=0&&temp<arr[j];j=j-d){ 22 arr[j+d]=arr[j]; 23 } 24 arr[j+d]=temp; 25 } 26 } 27 } 28 } 29 }

 

标签:arr,int,Arrays,希尔,排序,public,ShellSort
来源: https://www.cnblogs.com/acronicalchen/p/14778667.html