天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

排序算法之PHP版快速排序、冒泡排序

一、快速排序
 
1.簡介
快速排序是由東尼?霍爾所發展的一種排序算法。在平均狀況下,排序 n 個項目要Ο(n log n)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況并不常見。事實上,快速排序通常明顯比其他Ο(n log n) 算法更快,因為它的內部循環(inner loop)可以在大部分的架構上很有效率地被實現出來。
快速排序使用分治法(Divide and conquer)策略來把一個串行(list)分為兩個子串行(sub-lists)。
2.步驟
從數列中挑出一個元素,稱為 “基準”(pivot),
重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的后面(相同的數可以到任一邊)。在這個分區退出之后,該基準就處于數列的中間位置。這個稱為分區(partition)操作。
遞歸地(recursive)把小于基準值元素的子數列和大于基準值元素的子數列排序。
3.代碼實現
復制代碼 代碼如下:function quickSort(array $array)
 {
     $len = count($array);
     if($len <= 1)
     {
         return $array;
     }
     $key = $array[0];
     $left = array();
     $right = array();
     for($i=1; $i<$len; ++$i)
     {
         if($array[$i] < $key)
         {
             $left[] = $array[$i];
         }
         else
         {
             $right[] = $array[$i];
         }
     }
     $left = quickSort($left);
     $right = quickSort($right);
     return array_merge($left, array($key), $right);
 }

 print '<pre>';
 print_r(quickSort(array(1,4,22,5,7,6,9)));
 print '</pre>';
4.排序效果

使用快速排序法對一列數字進行排序的過程



二、冒泡排序
 
1.簡介
冒泡排序(Bubble Sort,臺灣譯為:泡沫排序或氣泡排序)是一種簡單的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端。
2.步驟
比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。
針對所有的元素重復以上的步驟,除了最后一個。
持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。
3.代碼實現
復制代碼 代碼如下:<?php
 function bubbingSort(array $array)
 {
     for($i=0, $len=count($array)-1; $i<$len; ++$i)
     {
         for($j=$len; $j>$i; --$j)
         {
             if($array[$j] < $array[$j-1])
             {
                 $temp = $array[$j];
                 $array[$j] = $array[$j-1];
                 $array[$j-1] = $temp;
             }
         }
     }
     return $array;
 }

 print '<pre>';
 print_r(bubbingSort(array(1,4,22,5,7,6,9)));
 print '</pre>';
4.排序過程

使用冒泡排序為一列數字進行排序的過程

php技術排序算法之PHP版快速排序、冒泡排序,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 波多野结衣教师系列6 | 99手机在线视频 | 亚洲 欧美 国产 在线 日韩 | 入禽太深免费高清在线观看5 | 色综合久久中文色婷婷 | 国产呦精品一区二区三区下载 | 在野外被男人躁了一夜动图 | 大稥焦伊人一本dao 大香伊人中文字幕精品 | 亚洲1卡二卡3卡4卡新区在线 | 麻豆国产人妻精品无码AV | 人妻体体内射精一区二区 | 8X拨牐拨牐X8免费视频8 | 小夫妻天天恶战 | 国产精自产拍久久久久久蜜 | 亚洲第一成年网站视频 | 肉动漫无修在线播放 | 狠狠干老司机 | 国产精品国产三级国产AV麻豆 | 一个人免费视频在线观看高清频道 | 国产真实乱对白精彩 | www亚洲欲色成人久久精品 | 麻豆免费观看高清完整视频 | 2017欧美狠狠色 | 国产成人a v在线影院 | 人妻夜夜爽天天爽三区麻豆AV网站 | 婷婷开心激情综合五月天 | 日韩欧美视频一区 | 国产成人在线视频播放 | 超碰caoporon最新视频 | 久久亚洲这里只有精品18 | 国产精品美女久久久久浪潮AV | 猛烈抽插H1V1 | 99国产强伦姧在线看RAPE | 嫩草国产精品99国产精品 | 久久是热这里只有精品 | 久久精品国产欧美日韩99热 | 精品国产免费人成视频 | 国产成人高清亚洲一区app | 女人操男人| 午夜一区二区三区 | 99久久免费看少妇高潮A片 |