php冒泡排序解决思路

WBOY
發布: 2016-06-13 11:13:51
原創
901 人瀏覽過

php冒泡排序
搜索了哈php冒泡排序,网上写的不知道第二层循环都是递减的,很不符合我的习惯,既然是冒泡肯定是从下往上啊,所以索性自己写了个分享哈!

<br /><br /><?php<br />  $ar = array(1,3,2,8,3,5,6,10,13,27,24);<br />bubble_sort($ar);<br />print_r($ar);<br /> function bubble_sort(&$ar)<br />{<br />   $ar_count = count($ar);<br />   $temp = null;<br />   for($i= 0 ; $i < $ar_count; $i ++)<br />   {<br />      for($j = 0 ; $j < $ar_count - $i - 1; $j++)<br />      {<br />          if($ar[$j] > $ar[$j+1])<br />          {<br />              $temp = $ar[$j];<br />              $ar[$j] = $ar[$j+1];<br />              $ar[$j+1] = $temp;<br />          }<br />      }<br />   }<br />}<br />
登入後複製
php 冒泡排序


------解决方案--------------------
$ar = array(24,1,3,2,8,3,5,6,10,13,27);<br />bubble_sort($ar);<br /><br />function bubble_sort(&$ar)<br />{<br />   $ar_count = count($ar);<br />   $temp = null;<br />   for($i= 0 ; $i < $ar_count; $i ++)<br />   {<br />      for($j = 0 ; $j < $ar_count - $i - 1; $j++)<br />      {<br />          if($ar[$j] > $ar[$j+1])<br />          {<br />              $temp = $ar[$j];<br />              $ar[$j] = $ar[$j+1];<br />              $ar[$j+1] = $temp;<br />          }<br />      }<br />echo join(',', $ar), PHP_EOL; //观察这里的输出<br />   }<br />}
登入後複製
1,3,2,8,3,5,6,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27 到这里排序已经结束
1,2,3,3,5,6,8,10,13,24,27 从这里开始,以下都是无效劳动
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27
1,2,3,3,5,6,8,10,13,24,27

大有优化的余地

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板