排序算法--shel来排序

原创 2016年08月30日 10:02:39

具体流程:1,将有n个元素的数组分成n/2个数字排列 ,第一个数据和n/2+1个数据是一对的

                     2,一次循环使每一个序列排好顺序

                   3,然后再变成n/4个序列,再次排序

                   4,不断重复上诉过程,随着序列减少变成最后一个

伪代码如下:


public static void shellSort(int a[]){
int i,j,h;
int r,temp;
int x = 0;

for(r=a.length/2;r>=1;r/=2){
for(i=r;i<a.length;i++){
temp=a[i];
j=i-r;
while(j>=0&&temp<a[j]){
a[j+r]=a[j];
j=j-r;
}
a[j+r]=temp;
}
x++;

System.out.println("d"+x+".....");
for(h=0;h<a.length;h++){
System.out.print(a[h]+",");
}
System.out.println();
}

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

排序算法综合实验

  • 2017年11月15日 21:14
  • 79KB
  • 下载

java排序算法总结

  • 2016年07月25日 17:35
  • 8KB
  • 下载

C++ 归并排序算法的实现与改进(含笔试面试题)

归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,即把待排序序列分为若干个子序列,每个子序列是有序...

内部排序算法

  • 2017年05月10日 08:57
  • 239KB
  • 下载

Java各种排序算法

  • 2015年12月24日 14:41
  • 106KB
  • 下载

常用排序算法时间复杂度和空间复杂度

摘自维基百科: http://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95#.E7.A8.B3.E5.AE.9A.E6.80.A...
  • xiexievv
  • xiexievv
  • 2015年05月17日 20:50
  • 10047

排序算法总结 实现 Demo (Java)

  • 2016年05月19日 17:53
  • 102KB
  • 下载

堆排序算法

  • 2017年08月17日 20:57
  • 1KB
  • 下载

冒泡排序算法详解C++程序

冒泡排序算法:(Bubble Sort)首先肯定是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。 用C++实现冒泡算法...

排序算法.txt

  • 2015年01月26日 22:22
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:排序算法--shel来排序
举报原因:
原因补充:

(最多只允许输入30个字)