php 排序-冒泡

冒泡排序

<?php
/*
冒泡排序是非常容易理解和實現,以從小到大排序舉例:
設數組長度爲N。 
1.比較相鄰的前後二個數據,如果前面數據大於後面的數據,就將二個數據交換。
2.這樣對數組的第0個數據到N-1個數據進行一次遍歷後,最大的一個數據就“沉”到數組第N-1個位置。
3.N=N-1,如果N不爲0就重複前面二步,否則排序完成
*/

function b_sort($arr) {
	$len = count($arr);
	//3
	foreach ($arr as $key => $value) {
		//2
		for ($i = 1; $i< $len-$key; $i++) {
			//1
			if ($arr[$i] < $arr[$i - 1]) {
				$tmp = $arr[$i - 1];
				$arr[$i - 1] = $arr[$i];
				$arr[$i] = $tmp;
			}
		}
	}
	return $arr;
}


$arr = [1,21,2,3,333,4,23];

$res = b_sort($arr);

print_r($res);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章