java shell排序

Posted 猫儿爹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java shell排序相关的知识,希望对你有一定的参考价值。

原理图:



package suanfa;
public class shellInsert { public void shellInsert1(double [] sorted,int inc){ int sorted_length=sorted.length; for(int i=inc+1;i<sorted_length;i++){ if(sorted[i]<sorted[i-inc]){ sorted[0]=sorted[i]; int insertpos=i; for(int k=i-inc;k>=0;k--){ if(sorted[k]>sorted[0]){ sorted[k+inc]=sorted[k]; if(k-inc<0){ insertpos=k; } } else{ insertpos=k+inc; break; } } sorted[insertpos]=sorted[0]; } } } public static void main(String[] args) { // TODO Auto-generated method stub double [] sorted=new double[]{0.0,9.8,2.3,4.5,6.7,1.2,7.5,2.3,4.5,6.7}; int[] incs={7,5,3,1}; shellInsert shell=new shellInsert(); for (int i=0;i<incs.length;i++){ shell.shellInsert1(sorted, incs[i]); } } }

 

以上是关于java shell排序的主要内容,如果未能解决你的问题,请参考以下文章

代码片段:Shell脚本实现重复执行和多进程

7种基本排序算法的Java实现

6Java shell希尔排序

Java学习笔记——排序算法之希尔排序(Shell Sort)

插入排序—希尔排序(Shell`s Sort)原理以及Java实现

排序算法——冒泡排序选择排序插入排序Shell排序等排序原理及Java实现