這篇文章主要介紹了PHP實現順時針打印矩陣(螺旋矩陣)的方法,涉及PHP基於數組遍歷、運算模擬打印實現螺旋矩陣功能的相關操作技巧,對PHP感興趣的朋友可以參考下本篇文章。
本文實例講述了PHP實現順時針列印矩陣的方法。分享給大家供大家參考,具體如下:
問題
#輸入矩陣,按照從外向以順時針的順序依序列印出每一個數字,例如,若輸入如下矩陣:
1 | 2 | 3 | #4 |
5 | 6 | 7 | #8 |
#10 | 11 | 12 | |
#14 | 15 | 16 |
解決方法
就是就是一圈一圈地列印,只要控制好循環就可以。 注意單行單列的情況。
實作程式碼
<?php 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中文網其他相關文章!