Heim > Artikel > Backend-Entwicklung > 冒泡排序-php,冒泡-php_PHP教程
<span>PHP实现的代码先奉上:<br /><br />function</span> bubble_sort(<span>$array</span><span>) { </span><span>for</span> (<span>$i</span> = 0; <span>$i</span> < <span>count</span>(<span>$array</span>) - 1; <span>$i</span>++) { <span>//</span><span>$i为已经排过序的元素个数</span> <span>for</span> (<span>$j</span> = 0; <span>$j</span> < <span>count</span>(<span>$array</span>) - 1 - <span>$i</span>; <span>$j</span>++) { <span>//</span><span>$j为需要排序的元素个数,用总长减去$i</span> <span>if</span> (<span>$array</span>[<span>$j</span>] > <span>$array</span>[<span>$j</span> + 1]) { <span>//</span><span>按升序排序</span> <span>$temp</span> = <span>$array</span>[<span>$j</span><span>]; </span><span>$array</span>[<span>$j</span>] = <span>$array</span>[<span>$j</span> + 1<span>]; </span><span>$array</span>[<span>$j</span> + 1] = <span>$temp</span><span>; } } } </span><span>return</span> <span>$array</span><span>; }<br /><br />$a = array(5, 1, 4, 7);<br /><br />代码执行过程:<br /></span>
<span>i = 0;<br /> j = 0;<br /> if($arr[0] > $arr[1]) => 5 > 1 条件成立,交换位置,形成新的数组 => 1 5 4 7 j++<br /> if($arr[1] > $arr[2]) => 5 > 4 条件成立,交换位置, 形成新的数组 => 1 4 5 7 j++ <br /> if($arr[2] > $arr[3]) => 5 > 7 条件不成立 ,数组保持不变 , 1 4 5 7 j++ j=3 退出内层循环, i++</span>
<span>依次类推吧。 <br /><br /><br /></span>
<span><br /><br /><br /></span>