2.
請寫出常見的排序演算法,並用
php實現氣泡排序,將陣列
$a = array()
按照從小到大的方式進行排序。
常見的排序演算法
:氣泡排序法、快速排序法、簡單選擇排序法、堆排序法、直接插入排序法、希爾排序法、合併排序法。
氣泡排序法的基本思想是:對待排序記錄關鍵字從後往前(逆序)進行多遍掃瞄,當發現相鄰兩個關鍵字的次序與排序要求的規則不符時,就將這兩個記錄進行交換。這樣,關鍵字較小的記錄將逐漸從後面向前面移動,就象氣泡在水中向上浮一樣,所以該演算法也稱為氣泡排序法。 //
氣泡排序法
function mysort($arr)}}
return$arr;
}$arr=array(3,2,1);
print_r(mysort($arr));
2.<?php
//php algorithm bubble
// 3, 8 , 99, 75, 23, 1, 29, 51, 24, 13, 78.
//第一次迴圈,如果有小元素就往後走,即冒泡,這樣迴圈一次,最小的1就冒泡到最頂部了,即$array[10]=1;
//第二次迴圈,如果有小元素就往後走,及冒泡,這樣迴圈一次,第二小的3就冒泡到倒數第二的位置了,即$array[9]=3;
//...以此類推。遍歷迴圈陣列的個數-1次,就按照從大到小將陣列排序了,
//其中可以做些優化,第一次冒泡需要冒泡到最後乙個元素,第二次就冒泡到倒數第二個元素就ok了,即count($array)-2,還可以優化的地方這裡就不做深入**了。
function dump($arr)
$array = array(3,8,99,75,23,1,29,51,24,13,78);
dump($array);
for($i=0;$i
氣泡排序 氣泡排序法
冒泡法是一種簡單的排序方法,它的實現非常簡單。首先對n個專案進行掃瞄,比較相領兩個專案的大小,若發現違背大小次序則進行互換,由此可以使n個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...
排序 氣泡排序法
氣泡排序法,是最簡單的一種排序方法,從第乙個位置開始與相鄰位置比較,判斷是否需要交換位子。第一趟從第乙個位置開始,直到最後乙個位置,a n 1 確定最大 以公升序為例子 的數放在最後一位,a n 1 第二趟,繼續從第乙個位置開始,倒數第二位,a n 2 確定倒數第二大的數在倒數第二位a n 2 演算...
氣泡排序法
從小到大排序 int myarray new int 取長度最長的片語 冒泡法 for int j 1 jfor int i 0 i 如果 myarray i myarray i 1 則 myarray i 上浮一位 if myarray i myarray i 1 從大到小排序 int myarr...