本篇講解了PHP實現順時針列印矩陣及螺旋矩陣的方法。
本文實例講述了PHP實現順時針列印矩陣的方法。分享給大家供大家參考,具體如下:
問題
輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數字,例如,如果輸入如下矩陣:
1234
#5678
9101112
13141516
則依序列印數字1,2,3,4,8,12 ,16,15,14,13,9,5,6,7,11,10.
解
就是一圈一圈地列印,只要控制好循環就可以。
注意單行單列的情況。
實作程式碼
function printMatrix($matrix) { $row = count($matrix); $col = count($matrix[0]); if($row == 0 || $col == 0) return $matrix; $result = array(); $left = 0;$right = $col-1; $top = 0;$bottom = $row-1; while($left<=$right && $top<= $bottom){ for($i =$left;$i<=$right;++$i){ array_push($result, $matrix[$top][$i]); } for($i =$top+1;$i<=$bottom;++$i) array_push($result, $matrix[$i][$right]); if($top!=$bottom){ for($i = $right-1;$i>=$left;--$i) array_push($result, $matrix[$bottom][$i]); } if($left!=$right){ for($i = $bottom-1;$i>$top;--$i) array_push($result, $matrix[$i][$left]); } $left++;$right--;$top++;$bottom--; } return $result; }
本篇講解了PHP實現順時針列印矩陣及螺旋矩陣的方法,更多相關內容請關注php中文網。
相關推薦:
以上是PHP實現順時針列印矩陣及螺旋矩陣的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!