首页 > 代码库 > java shell排序
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排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。