亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 建站經驗 > 正文

PHP 數組 四種排序 冒泡 選擇 插入 快速(二分)

2024-04-25 20:37:09
字體:
來源:轉載
供稿:網友

許多人都說 算法是程序的核心,一個程序的好于差,關鍵是這個程序算法的優劣。作為一個初級phper,雖然很少接觸到算法方面的東西 。但是對于冒泡排序,插入排序,選擇排序,快速排序四種基本算法,我想還是要掌握的。下面是我按自己的理解,將四個方法分析一遍。

需求:分別用 冒泡排序法,快速排序法,選擇排序法,插入排序法將下面數組中 的值按照從小到的順序進行排序。

$arr(1,43,54,62,21,66,32,78,36,76,39);

1. 冒泡排序法

* 思路分析:法如其名,就是像冒泡一樣,每次從數組當中 冒一個最大的數出來。

* 比如:2,4,1 // 第一次 冒出的泡是4

* 2,1,4 // 第二次 冒出的泡是 2

* 1,2,4 // 最后就變成這樣

$arr=array(1,43,54,62,21,66,32,78,36,76,39);

function getpao($arr)

{

$len=count($arr);

//設置一個空數組 用來接收冒出來的泡

//該層循環控制 需要冒泡的輪數

for($i=1;$i<$len;$i++)

{ //該層循環用來控制每輪 冒出一個數 需要比較的次數

for($k=0;$k<$len-$i;$k++)

{

if($arr[$k]>$arr[$k+1])

{

$tmp=$arr[$k+1];

$arr[$k+1]=$arr[$k];

$arr[$k]=$tmp;

}

}

}

return $arr;

}

2. 選擇排序法:

選擇排序法思路: 每次選擇一個相應的元素,然后將其放到指定的位置

function select_sort($arr) {

//實現思路 雙重循環完成,外層控制輪數,當前的最小值。內層 控制的比較次數

//$i 當前最小值的位置, 需要參與比較的元素

for($i=0, $len=count($arr); $i<$len-1; $i++) {

//先假設最小的值的位置

$p = $i;

//$j 當前都需要和哪些元素比較,$i 后邊的。

for($j=$i+1; $j<$len; $j++) {

//$arr[$p] 是 當前已知的最小值

if($arr[$p] > $arr[$j]) {

//比較,發現更小的,記錄下最小值的位置;并且在下次比較時,

// 應該采用已知的最小值進行比較。

$p = $j;

}

}

//已經確定了當前的最小值的位置,保存到$p中。

//如果發現 最小值的位置與當前假設的位置$i不同,則位置互換即可

if($p != $i) {

$tmp = $arr[$p];

$arr[$p] = $arr[$i];

$arr[$i] = $tmp;

}

}

//返回最終結果

return $arr;

}

3.插入排序法

插入排序法思路:將要排序的元素插入到已經 假定排序號的數組的指定位置。

function insert_sort($arr) {

//區分 哪部分是已經排序好的

//哪部分是沒有排序的

//找到其中一個需要排序的元素

//這個元素 就是從第二個元素開始,到最后一個元素都是這個需要排序的元素

//利用循環就可以標志出來

//i循環控制 每次需要插入的元素,一旦需要插入的元素控制好了,

//間接已經將數組分成了2部分,下標小于當前的(左邊的),是排序好的序列

for($i=1, $len=count($arr); $i<$len; $i++) {

//獲得當前需要比較的元素值。

$tmp = $arr[$i];

//內層循環控制 比較 并 插入

for($j=$i-1;$j>=0;$j--) {

//$arr[$i];//需要插入的元素; $arr[$j];//需要比較的元素

if($tmp < $arr[$j]) {

//發現插入的元素要小,交換位置

//將后邊的元素與前面的元素互換

$arr[$j+1] = $arr[$j];

//將前面的數設置為 當前需要交換的數

$arr[$j] = $tmp;

} else {

//如果碰到不需要移動的元素

//由于是已經排序好是數組,則前面的就不需要再次比較了。

break;

}

}

}

//將這個元素 插入到已經排序好的序列內。

//返回

return $arr;

}

4.快速排序法

function quick_sort($arr) {

//先判斷是否需要繼續進行

$length = count($arr);

if($length <= 1) {

return $arr;

}

//如果沒有返回,說明數組內的元素個數 多余1個,需要排序

//選擇一個標尺

//選擇第一個元素

$base_num = $arr[0];

//遍歷 除了標尺外的所有元素,按照大小關系放入兩個數組內

//初始化兩個數組

$left_array = array();//小于標尺的

$right_array = array();//大于標尺的

for($i=1; $i<$length; $i++) {

if($base_num > $arr[$i]) {

//放入左邊數組

$left_array[] = $arr[$i];

} else {

//放入右邊

$right_array[] = $arr[$i];

}

}

//再分別對 左邊 和 右邊的數組進行相同的排序處理方式

//遞歸調用這個函數,并記錄結果

$left_array = quick_sort($left_array);

$right_array = quick_sort($right_array);

//合并左邊 標尺 右邊

return array_merge($left_array, array($base_num), $right_array);

}

 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久影视电视剧免费网站清宫辞电视| 亚洲视频在线观看视频| 97香蕉超级碰碰久久免费软件| 久久久久久久久久久久av| 久久电影一区二区| 久久中文字幕在线视频| 国产欧美日韩丝袜精品一区| 91精品啪aⅴ在线观看国产| 亚洲综合日韩中文字幕v在线| 国产成人aa精品一区在线播放| 欧美日韩亚洲成人| 日韩美女av在线| 国产成人拍精品视频午夜网站| 狠狠色狠狠色综合日日小说| 少妇高潮久久77777| 国产精品久久久久久av福利| 亚洲欧美精品中文字幕在线| 国产欧美日韩精品在线观看| 成人黄在线观看| 韩国三级日本三级少妇99| 欧美大尺度激情区在线播放| 热久久视久久精品18亚洲精品| 欧美激情精品久久久久久| 亚洲免费视频一区二区| 亚洲视频视频在线| 亚洲社区在线观看| 韩国美女主播一区| 国内精品一区二区三区四区| 91精品91久久久久久| 91精品国产沙发| 欧美激情欧美激情| 日韩国产中文字幕| 热久久这里只有精品| 久国内精品在线| 秋霞成人午夜鲁丝一区二区三区| 国产午夜精品免费一区二区三区| 亚洲一区二区三区四区视频| 日日骚av一区| 91亚洲人电影| 欧美自拍大量在线观看| 国产欧亚日韩视频| 国产亚洲欧美另类中文| 欧美在线视频在线播放完整版免费观看| 亚洲人成自拍网站| 91精品国产综合久久香蕉922| 亚洲精品一二区| 91精品国产高清久久久久久| 日韩精品视频观看| 亚洲精品视频久久| 色综合天天狠天天透天天伊人| 91色琪琪电影亚洲精品久久| 亚洲精品久久久久久久久久久久| 57pao国产精品一区| 久久久精品在线| 欧美电影免费观看| 久久久999国产精品| 亚洲久久久久久久久久| 亚洲人成网在线播放| 最近2019年中文视频免费在线观看| 国产精品亚洲一区二区三区| 日韩av不卡电影| 97精品国产91久久久久久| 国产精品揄拍一区二区| 韩国v欧美v日本v亚洲| 成人精品一区二区三区电影黑人| 久久成人精品电影| 日韩二区三区在线| 亚洲一区二区久久久久久久| 久国内精品在线| 亚洲japanese制服美女| 国产精品一久久香蕉国产线看观看| 成人国产在线激情| 日本道色综合久久影院| 日韩电影在线观看永久视频免费网站| 日韩国产中文字幕| 久久中文字幕视频| 欧美精品videosex牲欧美| 97成人精品区在线播放| 97色在线观看免费视频| 久久精品一区中文字幕| 亚洲精品久久久久久久久| 成人一区二区电影| 亚洲欧美激情一区| 精品呦交小u女在线| 91午夜在线播放| 国产精品99蜜臀久久不卡二区| 日本一本a高清免费不卡| 欧美精品日韩三级| 蜜臀久久99精品久久久无需会员| 日韩国产一区三区| 国产精品永久在线| 久久久91精品国产一区不卡| 日韩欧美成人网| 欧美日韩亚洲一区二| 欧美性猛交99久久久久99按摩| 国内精品久久久久久影视8| 中文字幕日韩精品在线| 97av在线视频免费播放| 欧美激情视频三区| 国产精品av免费在线观看| 69av在线视频| 九九久久久久久久久激情| 大荫蒂欧美视频另类xxxx| 久久久亚洲精选| 欧美在线一区二区视频| 中文字幕一区电影| 欧美疯狂xxxx大交乱88av| 九九久久国产精品| 精品国偷自产在线视频| 国产大片精品免费永久看nba| 狠狠躁夜夜躁人人躁婷婷91| 亚洲人成网站色ww在线| 久久天天躁狠狠躁夜夜爽蜜月| 一本色道久久综合亚洲精品小说| 日本精品久久久| 欧美中文字幕视频在线观看| 69视频在线免费观看| 久久综合九色九九| 中文字幕欧美精品日韩中文字幕| 亚洲一区999| 欧美精品18videos性欧美| 亚洲国产欧美一区二区三区久久| 国产97在线亚洲| 成人激情视频在线观看| 国内揄拍国内精品| 国产精品久久久av久久久| 亚洲自拍小视频免费观看| 亚洲最大福利视频| 国产狼人综合免费视频| 欧美三级欧美成人高清www| 欧美精品中文字幕一区| 国产亚洲精品一区二区| 成人黄色午夜影院| 操人视频在线观看欧美| 日韩免费在线播放| 亚洲精品国产精品久久清纯直播| 久久久久久美女| 这里只有精品久久| 日韩小视频网址| 成人黄色在线观看| 91色在线观看| 国产一区二区三区免费视频| 国内免费精品永久在线视频| 国产精品久久久久国产a级| 欧美色欧美亚洲高清在线视频| 国产视频福利一区| 国产精品第10页| 亚洲人成绝费网站色www| 国产精品女视频| 国产视频在线观看一区二区| 欧美激情视频一区| 欧美性猛交丰臀xxxxx网站| 97超级碰碰人国产在线观看| 亚洲国产成人久久| 亚洲天堂精品在线| 国产精品手机播放| 伊人久久久久久久久久久久久| 亚洲片av在线| 欧美午夜精品伦理| 国产精品大陆在线观看| 中国人与牲禽动交精品| 国产丝袜一区二区三区免费视频| 国产成人精品午夜| 精品久久久国产精品999|