原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换。
这样一趟过去后,最大或最小的数字被交换到了最后一位。
然后再从头开始进行两两比较交换,直到倒数第二位时结束。
PHP代码实现参考:
/*** 冒泡排序* 原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换。* 这样一趟过去后,最大或最小的数字被交换到了最后一位。* 然后再从头开始进行两两比较交换,直到倒数第二位时结束。* @param unknown $arr* @return unknown*/
function bubble_sort($arr){$count = count($arr);for( $i=0;$i<$count-1;$i++){ // 外层控制循环趟数for ($j=0;$j<$count-$i-1;$j++){ // 内层控制每趟对比的次数if( $arr[$j]>$arr[$j+1] ){$temp = $arr[$j];$arr[$j] = $arr[$j+1];$arr[$j+1] = $temp;}}}return $arr;
}
返回主目录 [经典排序算法][PHP实现集锦]
参考:
http://www.cnblogs.com/kkun/archive/2011/11/23/2260280.html