簡單意義上的桶排序:
桶排序的原理是先安排n+1個桶作為容器,www.cppcns.com若資料範圍為n的話。
然後將測試資料(所需排序的資料)進行迴圈,放入對應的桶程式設計客棧內。資料一定是在範圍n內的。
最後,迴圈桶裡的元素,並且輸出,進行從大到小或從小到大的排序。
例如:我們的取值範圍是10,那麼就要定義乙個 11長度的陣列$arr. 並且讓所有的元素值都為0
然後,對需要排序的陣列進行迴圈 如5,3,5,2,8.(這邊取值範圍其實才8)
將資料依次對應$arr桶陣列內元素,即 如果是5,則使$arr[5]+程式設計客棧+.
這時候 $arr[2]=1 $arr[3]=1 $arr[5]=2 $arr[8]=1
然後迴圈$arr的陣列,若$arr[2]=1,則迴圈輸出元素2一次,$arr[5]=2,則迴圈輸出5兩次
結果輸出即為 2 3 5 5 8
如果迴圈數值是從大到小 則會是從大www.cppcns.com到小的排序
php//設定預設陣列,預設值為0;
$arr = array();
for ($i = 0; $i <= 10; $i++)
//設定測試的五個資料
$arr1 = array(5, 3, 5, 2, 8);
//根據資料 對預設陣列的對應元素進行+1; j的取值範圍不能等於$arr1陣列長度
for ($j = 0; $j < count($arr1); $j++)
//開始迴圈輸出 預設陣列 $arr 裡面相應的值
for ($k = 0; $k <= 10; $k++)
}?>
缺點:浪費空間.
無法進行浮點資料的排序.
本文標題: php實現桶排序演算法
本文位址:
排序 桶排序演算法實現
演算法名桶排序 分類排序演算法 複雜度線性 消耗儲存空間較大 實現形式 單鏈表特性 原址排序 具體參考出處 演算法導論 bucket sort.cpp 定義控制台應用程式的入口點。include stdafx.h include include include define data num 100...
排序演算法09 桶排序 Python實現
桶排序,主角當然是桶了 桶就是乙個列表,存放的是乙個範圍內的數,同時還是有序的 桶排序需要的是一組桶,桶之間的範圍連續且相等,比如第乙個桶範圍是10 19,第二個桶的範圍就是20 29 這些桶的範圍正好包括需要排序的數 其中我們能知道的就只有列表中數的範圍 max min 1 加一的目的是防止越界,...
排序演算法 桶排序
桶排序 bucket sort 或所謂的箱排序,是乙個排序演算法,工作的原理是將陣列分到有限數量的桶子裡。每個桶子再個別排序 有可能再使用別的排序演算法或是以遞迴方式繼續使用桶排序進行排序 桶排序是鴿巢排序的一種歸納結果。當要被排序的陣列內的數值是均勻分配的時候,桶排序使用線性時間 n 但桶排序並不...