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

}

}

}

相关推荐
进击的小菜鸡dd几秒前
互联网大厂Java面试:微服务、电商场景下的全栈技术问答与解析
java·spring boot·缓存·微服务·消息队列·日志·电商
星河耀银海几秒前
C++基础数据类型与变量管理:内存安全与高效代码的基石
java·开发语言·c++
sunnyday04262 分钟前
Spring Boot 应用启动成功后的事件监听与日志输出实践
java·spring boot·后端
小欣加油4 分钟前
leetcode 面试题17.16 按摩师
数据结构·c++·算法·leetcode·动态规划
予枫的编程笔记6 分钟前
【JDK版本】JDK版本迁移避坑指南:从8→17/21实操全解析
java·人工智能·jdk
独断万古他化6 分钟前
【MyBatis 深度解析】注解操作与 XML 配置:增删改查全流程实现
xml·java·spring·mybatis
西部风情6 分钟前
稳定性质量系列-系统稳定性建设实践
java·开发语言
短剑重铸之日7 分钟前
《7天学会Redis》Day 7 - Redisson 全览
java·数据库·redis·后端·缓存·redission
Qiuner8 分钟前
一文读懂 Lambda
java·spring boot·后端·架构
码界奇点9 分钟前
基于Spring+SpringMVC+MyBatis+easyUI的后台管理系统设计与实现
java·spring·毕业设计·mybatis·easyui·源代码管理