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);


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