希尔排序是什么

发布时间:2023-01-01 14:17:32

希尔排序(shell)是对*排序的一个改装,它每次排序把序列的元素按照某个增量分成几个子序列,对这几个子序列进行*排序,然后不断的缩小增量扩大每个子序列的元素数量,直到增量为一的时候子序列就和原先的待排列序列一样了,此时只需要做少量的比较和移动就可以完成对序列的排序了.以下是小编为大家搜索整理的希尔排序是什么,希望能给大家带来帮助!更多精彩内容请持续关注我们应届毕业生考试网!

[cpp]viewplaincopy

#include;

voidShell_Sort(inta[],intn)

{

inth,i,j,temp;

for(h=n/2;h>0;h=h/2)

{

for(i=h;i

{

temp=a[i];

for(j=i-h;j>=0&&temp<a[j];j-=h)

{

a[j+h]=a[j];

}

a[j+h]=temp;

}

}

}

intmain(void)

{

intarr[]={1,5,2,4,3,8,6,7,9};

intcount=sizeof(arr)/sizeof(int);

Shell_Sort(arr,count);

intk;

for(k=0;k

{

printf("%d",arr[k]);

}

return0;

}

PHP版本

[php]viewplaincopy

$arr=array(1,5,2,4,3,8,6,7,9);

print"排序前";

print_r($arr);

echo"

";

$arr=shell_sort($arr);

print"排序后";

print_r($arr);

functionshell_sort($array)

{

$count=count($array);

for($h=intval($count/2);$h>0;$h=intval($h/2))

{

for($i=$h;$i<$count;$i++)

{

$temp=$array[$i];

for($j=$i-$h;$j>=0&&$temp<$array[$j];$j-=$h)

{

$array[$j+$h]=$array[$j];

}

$array[$j+$h]=$temp;

}

}

return$array;

}

?>

看了希尔排序是什么还看了:
  • 希尔排序(C语言实现)

    导语:C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。下面我们来看看希尔排序(C语言实现),希望对大家有所帮助。希尔排序的基本思想是:先将整个待排序列分割成若干子序...

  • 希望是什么的排比句

    1、希望是什么?希望是人生的钟摆,须臾停止不得;希望是太阳升起的地方,光芒四射;是优美动听的歌;是奇丽无比的小诗;是令人神往的意境;是朝露、晚虹、是阳光……2、希望是儿时的一颗糖,不大,但没有却万万不能;希望是海边的灯塔,为远方孤舟指引方向...

  • 希望是什么排比句

    希望指期望达到的某种目的或出现的某种情况、愿望。出自于《后汉书·班固传》:“?匈奴?徒以畏汉威灵,逼惮南虏,故希望报命,以安其离叛。”今天为大家准备的是希望是什么排比句,希望能满足大家的阅读需求。希望是什么排比句1、希望是什么?希望是人生的...

  • 希望是什么排比句

    1、希望是什么?希望是人生的钟摆,须臾停止不得;希望是太阳升起的地方,光芒四射;是优美动听的歌;是奇丽无比的小诗;是令人神往的意境;是朝露、晚虹、是阳光。。。。。。 ...

  • 女*荷尔蒙是什么_什么是女*荷尔蒙

    引导语:女*荷尔蒙是什么物质你知道吗?以下是小编收集整理的关于女*荷尔蒙是什么相关内容,欢迎阅读参考!女*荷尔蒙是什么?女*荷尔蒙即指女*激素。人体会分泌75种以上的激素,它们在人体中扮演着各自的角*。21-22岁是青春的巅峰时期,也是内分...