java实现希尔排序

public class ShellSort {

public static void sort(int[] arr) {

int n = arr.length;

int gap = n / 2;

while (gap > 0) {

for (int i = gap; i < n; i++) {

int temp = arr[i];

int j = i;

while (j >= gap && arr[j - gap] > temp) {

arr[j] = arr[j - gap];

j -= gap;

}

arr[j] = temp;

}

gap /= 2;

}

}

public static void main(String[] args) {

int[] arr = {8, 2, 7, 3, 1, 5, 6, 4};

sort(arr);

for (int i = 0; i < arr.length; i++) {

System.out.print(arr[i] + " ");

}

}

}

相关推荐
Flittly几秒前
【SpringSecurity新手村系列】(3)自定义登录页与表单认证
java·笔记·安全·spring·springboot
闻缺陷则喜何志丹2 分钟前
【背包 组合】P7552 [COCI 2020/2021 #6] Anagramistica|普及+
c++·算法·背包·洛谷·组合
小小码农Come on28 分钟前
C++访问QML控件-----QML访问C++对象属性和方法
java·开发语言·c++
Stella Blog29 分钟前
狂神Java基础学习笔记Day04
java·笔记·学习
RReality35 分钟前
【Unity Shader URP】Matcap 材质捕捉实战教程
java·ui·unity·游戏引擎·图形渲染·材质
小章UPUP1 小时前
2026年第十六届MathorCup数学应用挑战赛D题国奖思路
算法
hssfscv1 小时前
软件设计师下午试题四——C语言(N皇后问题、分治、动态规划)
c语言·算法·动态规划
lolo大魔王1 小时前
Go语言的反射机制
开发语言·后端·算法·golang
白羊by1 小时前
Softmax 激活函数详解:从数学原理到应用场景
网络·人工智能·深度学习·算法·损失函数
那个失眠的夜1 小时前
AspectJ
java·开发语言·数据库·spring