PHP简单的冒泡排序程序实现
本帖最后由 Sian 于 2015-12-30 17:12 编辑<?php
$number = array(5, 1, 7, 3, 4, 0, 6, 2, 8, 9);
echo "原数组:";
print_r($number);
echo "<br/>";
function mysort($array){
// 计算数组个数
$count =count($array) - 1;
// 重复冒泡会将整个数组中的小数字都往后移
for ($j = 0; $i < $count; $i ++){
// 取出相临两个进行对比,将小数字放后面
// 循环操作,从头到尾进行一轮比较后
// 最小的数字一定会被转移到最后面
// 这个过程形象地叫做冒泡
for($j = 0; $j < $count - $i; $j++){
if ($array[$j] < $array[$j+1]){
// 三部操作将两数字进行调换
$tmp = $array[$j];
$array[$j] = $array[$j+1];
$array[$j+1] = $tmp;
}
echo "$array[$j] ";
}
echo "<br/>";
print_r($array);
echo "<br/>";
}
return $array;
}
echo "<br/>";
echo "开始排序:<br/>";
$sort = mysort($number);
echo "<br/>";
echo "排序后的数组:<br/>";
print_r($sort);
输出结果为:
原数组:Array ( => 5 => 1 => 7 => 3 => 4 => 0 => 6 => 2 => 8 => 9 )
开始排序:
5 7 3 4 1 6 2 8 9
Array ( => 5 => 7 => 3 => 4 => 1 => 6 => 2 => 8 => 9 => 0 )
7 5 4 3 6 2 8 9
Array ( => 7 => 5 => 4 => 3 => 6 => 2 => 8 => 9 => 1 => 0 )
7 5 4 6 3 8 9
Array ( => 7 => 5 => 4 => 6 => 3 => 8 => 9 => 2 => 1 => 0 )
7 5 6 4 8 9
Array ( => 7 => 5 => 6 => 4 => 8 => 9 => 3 => 2 => 1 => 0 )
7 6 5 8 9
Array ( => 7 => 6 => 5 => 8 => 9 => 4 => 3 => 2 => 1 => 0 )
7 6 8 9
Array ( => 7 => 6 => 8 => 9 => 5 => 4 => 3 => 2 => 1 => 0 )
7 8 9
Array ( => 7 => 8 => 9 => 6 => 5 => 4 => 3 => 2 => 1 => 0 )
8 9
Array ( => 8 => 9 => 7 => 6 => 5 => 4 => 3 => 2 => 1 => 0 )
9
Array ( => 9 => 8 => 7 => 6 => 5 => 4 => 3 => 2 => 1 => 0 )
排序后的数组:
Array ( => 9 => 8 => 7 => 6 => 5 => 4 => 3 => 2 => 1 => 0 )
页:
[1]