希尔排序 java实现
来源:互联网 发布:app推广 aso优化方案 编辑:程序博客网 时间:2024/06/05 05:03
希尔排序属于插入排序的一种,也称为缩小增量法,是插入排序的一种改进版本,其基本思想是,先取一个小于n的整数i1作为第一个增量,所有距离为a的记录放在同一组,把数组的全部记录分成了a组子序列,再对各组子序列进行直接插入排序,然后,取第二个增量i2作为第二个增量,重复分组和排序,直到最后一个增量为1时,对所有元素进行直接插入排序。希尔排序是对直接插入排序算法的优化,实质上是一种分组插入排序算法。
代码
package demo;import java.util.Arrays;//希尔排序public class ShellSort { public static void main(String[] args) { int[] data = new int[] {18,32,3,6,21,42,35,27,34,89,53}; shellSort(data); } private static void shellSort(int[] data) { //此处循环增量 5、2、1 for (int increment = data.length / 2; increment > 0; increment /= 2) { for (int i = increment; i < data.length; i++) { int j=0; int temp = data[i]; for (j = i; j >= increment; j -= increment) { if(temp > data[j - increment]){ data[j] = data[j - increment]; }else{ break; } } data[j] = temp; } System.out.println("增量为"+increment+"时排序结果为:"+Arrays.toString(data)); } }}
运行结果:
阅读全文
0 0
- 希尔排序[Java实现]
- Java实现希尔排序
- 希尔排序----java实现
- 希尔排序--Java实现
- 希尔排序 java实现
- java实现希尔排序
- 希尔排序Java实现
- 希尔排序 java实现
- Java实现希尔排序
- java实现希尔排序
- 希尔排序 Java实现
- 希尔排序(Java实现)
- 希尔排序 java实现
- 希尔排序 Java实现
- java 实现希尔排序
- 希尔排序 Java实现
- 希尔排序-JAVA实现
- java实现希尔排序
- 使用脚本一键打包iOS应用ipa和上传到ftp服务器
- android串口通信以及串口协议解析
- prime算法-畅通工程之局部最小花费问题.cpp
- 个人学习总结一机器学习入门(八)
- COOKIE和SESSION有什么区别 以及各运行自机制?
- 希尔排序 java实现
- linux常用命令
- 关于数据库主键和外键
- 微信小程序开发之路上遇到的那些坑
- OpenCV 架构学习
- android的ORMLite的sqlite自定义框架
- 比较两个库中的表和字段试图
- ffplay主要流程
- 指纹模块调用