国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 邏輯算法 > 正文

PHP雞尾酒(Cocktail)排序算法的實現(代碼示例)

2020-03-22 17:18:40
字體:
來源:轉載
供稿:網友
雞尾酒排序也稱為雙向冒泡排序(bidirectional bubble sort)、搖曳排序(shaker sort)、波紋排序( ripple sort)、洗牌排序(shuffle sort)或穿梭排序( shuttle sort )是冒泡排序的一種變體,它既是一種穩定的排序算法,也是一種比較排序。

該算法與冒泡排序的不同之處在于,它在每次遍歷列表時都在兩個方向進行排序。這種排序算法實際上比冒泡排序更難以實現,并且解決了冒泡排序中的海龜問題。它只提供了微小的性能改進,并沒有改善漸近性能; 就像泡沫一樣,雖然它在教育中有用,但它沒有實際意義。

雞尾酒排序可視化動圖示例如下:

Sorting_shaker_sort_anim.gif

PHP雞尾酒排序代碼示例如下:

 ?phpfunction cocktailSort($my_array) if (is_string($my_array)) $my_array = str_split(preg_replace( //s+/ , ,$my_array)); $swapped = false; for($i=0;$i count($my_array);$i++){ if(isset($my_array[$i+1])){ if($my_array[$i] $my_array[$i+1]){ list($my_array[$i], $my_array[$i+1]) = array($my_array[$i+1], $my_array[$i]); $swapped = true; if ($swapped == false) break; $swapped = false; for($i=count($my_array)-1;$i $i--){ if(isset($my_array[$i-1])){ if($my_array[$i] $my_array[$i-1]) { list($my_array[$i],$my_array[$i-1]) = array($my_array[$i-1],$my_array[$i]); $swapped = true; }while($swapped); return $my_array;$test_array = array(3, 0, 2, 5, -1, 4, 1);echo 原始數組:/n echo implode( , ,$test_array );echo /n排序后數組/n: echo implode( , ,cocktailSort($test_array)). PHP_EOL;

輸出:

原始數組: 3, 0, 2, 5, -1, 4, 1排序后數組 :-1, 0, 1, 2, 3, 4, 5

本篇文章就是關于PHP雞尾酒(Cocktail)排序算法的實現方法介紹,希望對需要的朋友有所幫助!

以上就是PHP雞尾酒(Cocktail)排序算法的實現(代碼示例)的詳細內容,PHP教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 印江| 建昌县| 潼南县| 洛阳市| 纳雍县| 讷河市| 左云县| 阜城县| 政和县| 乌恰县| 内丘县| 罗定市| 黑水县| 石嘴山市| 新泰市| 勃利县| 健康| 淮滨县| 定襄县| 宾川县| 图们市| 紫云| 饶阳县| 大连市| 永平县| 灵武市| 雷州市| 晋宁县| 苗栗县| 涞源县| 瓦房店市| 洞头县| 柳林县| 道真| 定日县| 兴海县| 乐清市| 堆龙德庆县| 普宁市| 乌兰察布市| 息烽县|