七大排序希尔排序
排序是数据结构中挺重要的一环,无论你是考研还是刷算法题进大厂,排序都是你迈向成功前进道路的基石哦[紫薇别走]
加油!致每一位正在努力的人!相信努力的光~[送心][送心],你终将成为你想成为的那个人!![送心][送心][送心]package com.Grammer.希尔排序; /** * 主要思想: * 按照希尔的增量把记录按下标的一定增量分组,对每组使用直接插入排序算法,随着增量的越来越小. * 每组包含的关键字越来越多,直到1为止,排序完成 */ public class ShellSort007 { // 采用交换法 public void ShellSort(int[] arr){ //确定增量gap,并发逐步缩小增量 for(int gap=arr.length>>2;gap>0;gap/=2){ //2.从第GAP个元素开始,逐个对每组进行直接插入排序 for (int i = gap; i < arr.length; i++) { int j=i; while(j-gap>=0&&arr[j]0;gap/=2){ //共gap个组,每组进行直接插入排序 for(i=0;itmp){ a[k+gap]=a[k]; k-=gap; } a[k+gap]=tmp; } } } } } }