您的位置:首页 > 编程语言 > PHP开发

php 冒泡排序原理

2015-06-26 11:18 549 查看
$start = microtime(true);

$popArr = array(6,3,23,1,5,100,399,99,66);

echo '6,3,23,1,5,100,399,99,66';

$len = count($popArr);

for ($j=0; $j<$len; $j++)

{

for ($i=$len-1; $i>$j; $i--)

{

if ($popArr[$i] < $popArr[$i-1])

{

$x = $popArr[$i];

$popArr[$i] = $popArr[$i-1];

$popArr[$i-1] = $x;

}

}

}

/*

j=0 i=8 99和66互换了 array(6,3,23,1,5,100,399,66,99);

i=7 399和66互换了 array(6,3,23,1,5,100,66,399,99);

i=6 100和66互换了 array(6,3,23,1,5,66,100,399,99);

i=5 没变化

i=4 没变化

i=3 23和1互换了 array(6,3,1,23,5,66,100,399,99);

i=2 3和1互换了 array(6,1,3,23,5,66,100,399,99);

i=1 6和1互换了 array(1,6,3,23,5,66,100,399,99);

j=1 i=8 399和99互换了 array(1,6,3,23,5,66,100,99,399);

i=7 100和99互换了 array(1,6,3,23,5,66,99,100,399);

i=6 没变化 array(1,6,3,23,5,66,99,100,399);

i=5 没变化 array(1,6,3,23,5,66,99,100,399);

i=4 23和5互换了 array(1,6,3,5,23,66,99,100,399);

i=3 没变化 array(1,6,3,5,23,66,99,100,399);

i=2 6和3互换了 array(1,3,6,5,23,66,99,100,399);

j=2 i=8 没变化 array(1,3,6,5,23,66,99,100,399);

i=7 没变化 array(1,3,6,5,23,66,99,100,399);

i=6 没变化 array(1,3,6,5,23,66,99,100,399);

i=5 没变化 array(1,3,6,5,23,66,99,100,399);

i=4 没变化 array(1,3,6,5,23,66,99,100,399);

i=3 6和5互换了 array(1,3,5,6,23,66,99,100,399);

j=3 i=8 没变化 array(1,3,5,6,23,66,99,100,399);

i=7 没变化 array(1,3,5,6,23,66,99,100,399);

i=6 没变化 array(1,3,5,6,23,66,99,100,399);

i=5 没变化 array(1,3,5,6,23,66,99,100,399);

i=4 没变化 array(1,3,5,6,23,66,99,100,399);

j=4 i=8 没变化 array(1,3,5,6,23,66,99,100,399);

i=7 没变化 array(1,3,5,6,23,66,99,100,399);

i=6 没变化 array(1,3,5,6,23,66,99,100,399);

i=5 没变化 array(1,3,5,6,23,66,99,100,399);

j=5 i=8 没变化 array(1,3,5,6,23,66,99,100,399);

i=7 没变化 array(1,3,5,6,23,66,99,100,399);

i=6 没变化 array(1,3,5,6,23,66,99,100,399);

j=6 i=8 没变化 array(1,3,5,6,23,66,99,100,399);

i=7 没变化 array(1,3,5,6,23,66,99,100,399);

j=7 i=8 没变化 array(1,3,5,6,23,66,99,100,399);

*/

echo '<pre>';

print_r($popArr);

echo microtime(true) - $start;

die;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: