PHP算法之冒泡排序
- /**
- * 冒泡排序 (一维数组)
- * 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止
- * 设想被排序的数组R[1..N] 垂直竖立,将每个数据元素看作有重量的气泡,从下往上扫描数组,凡扫描违反原则的轻气泡,就使其向上"漂浮".如此反复进行.
- * 直到最后任何两个气都是轻者在上,重者在下为止.
- */
- function bubble_sort($array) {
- $count = count($array);
- if($count < 0) {
- return false;
- }
- for($i = 0; $i < $count; $i++) {
- for($j = $count - 1; $j > $i; $j--) {
- if($array[$j] < $array[$j - 1]) {
- $tmp = $array[$j];
- $array[$j] = $array[$j - 1];
- $array[$j - 1] = $tmp;
- }
- }
- }
- return $array;
- }
作者: howk 发布时间: 2011-06-15
不错,写得不错啊。
作者: xiaojia 发布时间: 2011-06-15