java 希尔排序
来源:互联网 发布:art template.js 下载 编辑:程序博客网 时间:2024/06/12 21:20
package sort_book_datastruction;import java.util.Arrays;/** * 2017/4/1 * 希尔排序:是插入排序的一种,又称为缩小增量的插入排序或者分段排序 * 基本思想:将整个待排序序列分割成若干个待排序子序列; * 对这些子序列分别进行排序,不断缩小增量,构成子序列,再排序; * 当整个序列基本有序时,再对整个序列进行一次排序。 *操作方法: * 1)选择一个增量序列,d={t1,t2,...tk};tk=1(增量序列的最后一项必须为1),该序列是减序列; * 2)按增量序列的个数k,对序列进行k趟的排序 * 3)每趟排序根据对应的增量ti,对待排序列分割成长度为m的子序列,分别对各个子序列进行直接插入排序; * @author Administrator * */public class ShellSort { public void shellInsert(int[] array,int d){ for(int i =d;i<array.length;i++){ if(array[i]<array[i-d]){ int x = array[i]; int j = i - d; while(j>0 && x<array[j]){ array[j+d]=array[j]; j=j-d; } array[j+d]=x; } } } public void shellSort(int[] array,int[] d){ for(int k =0;k<d.length;k++){ shellInsert(array,d[k]); } } public static void main(String[] args) { // TODO Auto-generated method stub ShellSort ss = new ShellSort(); int[] a={2,5,3,8,11,6,15,9,45,7,5}; int[] d ={6,3,1}; ss.shellSort(a, d); System.out.println("a="+Arrays.toString(a)); }}
阅读全文
0 0
- java排序-希尔排序
- 希尔排序[Java实现]
- java-------希尔排序
- java希尔排序算法
- 希尔排序 Java
- java希尔排序
- java希尔排序
- Java实现希尔排序
- java的希尔排序
- 希尔排序----java实现
- java希尔排序
- (Java)希尔排序
- java希尔排序算法
- java的希尔排序
- Java代码 希尔排序
- Java-希尔排序
- Java 希尔排序
- java 希尔排序
- [读书笔记]第三章 自从昆虫发明了翅膀 蜘蛛就发明了网
- spring-mvc系统分层
- Spark学习之五-数据的读取与保存
- 多态机制
- web储存
- java 希尔排序
- 文章标题
- HDU 5155 dp
- c#操作字符串方法
- 牛客网编程-求树的镜像(java)
- 堪称最好的A*算法
- 微型四轴飞行器(3)嵌入式软件设计
- Dos常用指令
- [读书笔记]第四章 旅馆在房间里为你准备擦鞋布的原因,是怕你用他们的白浴巾