氣泡排序及快速排序

2021-07-02 16:02:00 字數 1327 閱讀 3329

快速排序以乙個基準值,將無序列分成兩部分(左邊小於基準值,右邊大於基準值),然後遞迴。

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小,後一部分都...