PHP冒泡排序算法
- 格式:docx
- 大小:9.74 KB
- 文档页数:2
冒泡排序(常出现在面试题里):
相邻的两个数比较,大数向后走!
模拟:
待排序序列:
每轮内,需要对余下的元素依次做相邻的元素之间的比较!
计算关系:
$total = 7;
比较次数 = 总元素个数 - 轮数!
其次,需要控制哪两个元素参与比较?
确定第一个参与比较元素的即可:从 0 开始到总元素个数 - 1 - 当前轮数交换元素位置,找到第三个变量
编程实现:
双层循环:外层控制比较轮数,内层控制比较元素下标
$list = array(24,11,67,10,9,23,45);
function bubbleSort(&$list) {
for($i = 1,$list_len = count($list); $i < $list_len; ++$i) { for($j = 0; $j <= $list_len-1-$i;++$j) {
if($list[$j] > $list[$j+1]) {
$tem = $list[$j];
$list[$j] = $list[$j+1];
$list[$j+1] = $tem;
}
}
}
}
bubbleSort($list);
var_dump($list);。