国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳高县| 桦川县| 漠河县| 根河市| 彰化县| 岢岚县| 上林县| 姜堰市| 镇江市| 临清市| 南和县| 乐东| 禄丰县| 赤壁市| 湟源县| 巧家县| 景宁| 南宫市| 安仁县| 天峻县| 柞水县| 本溪| 锡林郭勒盟| 盐边县| 霍山县| 鹿泉市| 娱乐| 昂仁县| 穆棱市| 内乡县| 清水县| 永泰县| 梁平县| 福建省| 衡阳市| 肇源县| 方正县| 达尔| 潜山县| 昌江| 涡阳县|