<?php
$arr2 = array( 5, 15, 3, 4, 9, 11);
$len = count($arr2);
//1, 需要進行n-1趟的「冒泡」比較過程。
echo "<br />排序之前:";
print_r($arr2);
for($i = 0; $i < $len-1; ++$i){ //設定比較的趟數
//2, 每一趟的比較都前一趟少比一次,第一趟需要比較n-1次
for($k = 0; $k < $len-1-$i; ++$k){ //設定本趟比較的次數
//這裡要實現下標為$k和下標為$k+1這兩項的比較:
if($arr2[$k] > $arr2[$k+1]){
$temp = $arr2[$k];
$arr2[$k] = $arr2[$k+1];
$arr2[$k+1] = $temp;
}
}
}
echo "<br />排序之後:";
print_r($arr2);
?>
求大神解答
for($i = 0; $i < $len-1; ++$i){
for($k = 0; $k < $len-1-$i; ++$k){
為什麼要-$i
$i = 0.1.2.3.4 共5趟
for($k = 0; $k < $len-1-$i; ++$k){
for($k = 0; 0< 6-1-0 ++$k){
for($k = 1; 1 < 6-1-1; ++$k){
for($k = 2; 2 < 6-1-2; ++$k){
for($k = 3; 3 < 6-1-3; ++$k){ //條件就不符合了
for($k = 4; 4 < 6-1-4; ++$k){ //條件就不符合了
為什麼這樣不會出錯
反而改成下面這樣就不對
for($k = 0; $k <= $len-1-$i; ++$k){
我實在不懂這個 -$i
拜託大神詳細解說
讓我能看的懂