国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php實現希爾排序算法的方法分析

php實現希爾排序算法的方法分析

2021-07-20 17:36根號五 PHP教程

這篇文章主要介紹了php實現希爾排序算法的方法,簡單說明了希爾排序的原理,并結合實例形式分析了php實現希爾排序的具體操作技巧,需要的朋友可以參考下

本文實例講述了php實現希爾排序算法的方法。分享給大家供大家參考,具體如下:

雖然現在各種程序語言都有其各自強大的排序庫函數,但是這些底層實現也都是利用這些基礎或高級的排序算法。

理解這些復雜的排序算法還是很有意思的,體會這些排序算法的精妙~

希爾排序(shell sort):希爾排序是基于插入排序的,區別在于插入排序是相鄰的一個個比較(類似于希爾中h=1的情形),而希爾排序是距離h的比較和替換。

希爾排序中一個常數因子n,原數組被分成各個小組,每個小組由h個元素組成,很可能會有多余的元素。當然每次循環的時候,h也是遞減的(h=h/n)。第一次循環就是從下標為h開始。希爾排序的一個思想就是,分成小組去排序。

理解這些算法,最好是有個圖示。就先來代碼吧。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
/**
 * 希爾排序
 */
function shell_sort(array $arr){
  // 將$arr按升序排列
  $len = count($arr);
  $f = 3;// 定義因子
  $h = 1;// 最小為1
  while ($h < $len/$f){
    $h = $f*$h + 1; // 1, 4, 13, 40, 121, 364, 1093, ...
  }
  while ($h >= 1){ // 將數組變為h有序
    for ($i = $h; $i < $len; $i++){ // 將a[i]插入到a[i-h], a[i-2*h], a[i-3*h]... 之中 (算法的關鍵
      for ($j = $i; $j >= $h; $j -= $h){
        if ($arr[$j] < $arr[$j-$h]){
          $temp = $arr[$j];
          $arr[$j] = $arr[$j-$h];
          $arr[$j-$h] = $temp;
        }
        //print_r($arr);echo '<br/>'; // 打開這行注釋,可以看到每一步被替換的情形
      }
    }
    $h = intval($h/$f);
  }
  return $arr;
}
$arr = array(14, 9, 1, 4, 6, -3, 2, 99, 13, 20, 17, 15, 3);
$shell = shell_sort($arr);
echo '<pre>';
print_r($shell);
/**
*
Array
(
[0] => -3
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 6
[6] => 9
[7] => 13
[8] => 14
[9] => 15
[10] => 17
[11] => 20
[12] => 99
)
)
*
*/

希望本文所述對大家PHP程序設計有所幫助。

原文鏈接:https://www.cnblogs.com/firstForEver/p/5133883.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 狼人综合av | 国产一区二区三区在线视频 | 精品一区二区av | 亚洲国产精品久久久 | 亚洲精品乱码久久久久久金桔影视 | 亚洲一区自拍 | 成人欧美一区二区三区白人 | 鲁一鲁av | 黄色一级毛片a | 亚洲黄色激情 | 日日鲁鲁 | 欧美成人不卡 | 久久亚洲一区二区三区明星换脸 | 国产精品一区不卡 | 91免费观看 | 在线中文字幕av | 日韩av中文 | 欧美自拍一区 | 亚洲色图在线播放 | 久久久国产精品入口麻豆 | 色网入口| 日韩在线精品 | 美日韩一区二区 | 欧美成人免费在线视频 | 欧美日韩中文字幕 | 日本中文字幕在线视频 | 精精国产xxxx视频在线播放 | 亚洲精品片 | 中文av一区 | 国产精品视频久久 | 刘亦菲的毛片 | 黄色一级片a | 国产精品美女www爽爽爽软件 | 国产一区二区在线免费观看 | 精品一区二区三区中文字幕 | 日本一区视频 | 日韩高清国产一区在线 | 亚洲国产精品久久久久婷婷老年 | 日韩高清一区二区 | 欧美在线视频一区 | 天天操天天插 |