欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

C語(yǔ)言

希爾排序是什么

時(shí)間:2025-03-10 12:23:32 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

希爾排序是什么

  希爾排序(shell)是對(duì)插入排序的一個(gè)改裝,它每次排序把序列的元素按照某個(gè)增量分成幾個(gè)子序列,對(duì)這幾個(gè)子序列進(jìn)行插入排序,然后不斷的縮小增量擴(kuò)大每個(gè)子序列的元素?cái)?shù)量,直到增量為一的時(shí)候子序列就和原先的待排列序列一樣了,此時(shí)只需要做少量的比較和移動(dòng)就可以完成對(duì)序列的排序了.以下是小編為大家搜索整理的希爾排序是什么,希望能給大家?guī)?lái)幫助!更多精彩內(nèi)容請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  [cpp] view plaincopy

  #include ;

  void Shell_Sort(int a[], int n)

  {

  int h,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;

  }

  }

  }

  int main(void)

  {

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

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

  Shell_Sort(arr,count);

  int k;

  for(k=0;k

  {

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

  }

  return 0;

  }

  PHP版本

  [php] view plaincopy

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

  print "排序前 ";

  print_r($arr);

  echo "

  ";

  $arr=shell_sort($arr);

  print "排序后 ";

  print_r($arr);

  function shell_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;

  }

  ?>

【希爾排序是什么】相關(guān)文章:

希爾排序(C語(yǔ)言實(shí)現(xiàn))09-06

希爾排序算法的C語(yǔ)言實(shí)現(xiàn)示例08-30

內(nèi)部排序之堆排序的實(shí)現(xiàn)09-15

Excel對(duì)表格內(nèi)容自定義排序的步驟是什么10-26

C#排序算法之快速排序09-09

C#排序算法之堆排序07-21

C++ 排序插入排序詳解08-03

c語(yǔ)言中冒泡排序、插入排序、選擇排序算法比較07-11

PHP數(shù)組的排序09-28