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] + " ");

}

}

}

相关推荐
ascarl201015 小时前
记录一下Nacos和XXLJOB修复漏洞
java
福娃筱欢15 小时前
通用机KESV8R2-3节点集群缩容为2节点
java·开发语言
LXMXHJ15 小时前
项目之html+javaScript
java·vue
wen__xvn15 小时前
算法刷题目录
算法
毕设源码-赖学姐15 小时前
【开题答辩全过程】以 高校竞赛试题库管理平台为例,包含答辩的问题和答案
java
南山乐只15 小时前
Java并发原生工具:原子类 (Atomic Classes)
java·开发语言·后端
一颗青果15 小时前
C++下的atomic | atmoic_flag | 内存顺序
java·开发语言·c++
Tisfy15 小时前
LeetCode 1292.元素和小于等于阈值的正方形的最大边长:二维前缀和(无需二分)+抽象速懂的描述
算法·leetcode·职场和发展
木叶子---15 小时前
pdf生成排查记录与解决方案
java·pdf
ZPC821015 小时前
机械臂urdf
人工智能·算法