快速排序以乙個基準值,將無序列分成兩部分(左邊小於基準值,右邊大於基準值),然後遞迴。
1.氣泡排序
2.快速排序
1.氣泡排序
//氣泡排序(o(n2))
function
bubblesort
($arr)
for($i=0;$i}}
return
$arr;
}
2.快速排序//快速排序
function
quicksort
(&$arr,$height,$low=0)
$i=$low+1;
$j= $height;
$temp = $arr[$low];
while($i
while($i
list($arr[$i],$arr[$j]) = array($arr[$j],$arr[$i]);
}if($arr[$i] <= $temp)
quicksort($arr,$i-1,$low);
quicksort($arr,$height,$j+1);
return
$arr;
}
3.測試$item =array('2','1','4','3','8','6','5','-1','10','3','7','6','6');
快速排序及氣泡排序詳解
一 快速排序 快速排序和其他排序方法一樣,都是為了將資料進行簡潔又快速的排序。其基本的實現方法其實就是經過一次排序演算法之後,先簡單地將資料分成兩部分 取乙個中間數 一般為第乙個元素 以這個中間數為中心,左邊的數為比這個中間數小的數,右邊的數為比這個中間數大的數。之後再進行遞迴演算法,分別處理已經分...
陣列及排序(冒泡 選擇 快速排序)
1.陣列 使用單獨的變數名來儲存一系列的值 簡單的說,陣列的作用,就是乙個容器,將多個資料儲存起來 2.宣告陣列的方法 字面量 var arr eg var arr 兔子1 兔子2 兔子3 兔子4 console.log arr 建構函式方法 var arr new array 如果引數為乙個數值 ...
排序 氣泡排序 快速排序
快速排序 氣泡排序就是自上向下依次對比兩個數字,若上面的數字大於下面的數字,則兩者交換,否則不交換。這樣每次迴圈結束,未排序的最大的數就到了最下面。如陣列前兩次迴圈過程如下 快速排序的核心是partition 函式,其功能如下所示 34的位置找到後,其將陣列分成兩部分,前一部分都比34小,後一部分都...