希尔排序
Posted StringBuilder
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了希尔排序相关的知识,希望对你有一定的参考价值。
1 public class Solution 2 { 3 public void shellSort(int[] data) 4 { 5 for(int i = data.length / 2; i > 0; i = i / 2) 6 { 7 for(int j = 0; j < i; j ++) 8 { 9 insertSort(data, j, i); 10 } 11 } 12 } 13 14 public void insertSort(int[] data, int begin, int distance) 15 { 16 for(int i = begin + distance; i < data.length; i = i + distance) 17 { 18 for(int j = i - distance; j >= 0; j = j - distance) 19 { 20 if(data[j] > data[j + distance]) 21 { 22 exchange(data, j, j + distance); 23 } 24 else 25 { 26 break; 27 } 28 } 29 } 30 } 31 32 public void exchange(int[] data, int m, int n) 33 { 34 int memory = data[m]; 35 data[m] = data[n]; 36 data[n] = memory; 37 } 38 }
以上是关于希尔排序的主要内容,如果未能解决你的问题,请参考以下文章