這篇文章主要介紹了PHP實現順時針打印矩陣(螺旋矩陣)的方法,涉及PHP基於數組遍歷、運算模擬打印實現螺旋矩陣功能的相關操作技巧,需要的朋友可以參考下
本文實例敘述了PHP實現順時針列印矩陣的方法。分享給大家參考,具體如下:
問題
輸入矩陣,按照從外向以順時針的順序依序列印出每一個數字,例如,若輸入如下矩陣:
1 | ##2# 3 | 4 | |
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中文網其他相關文章!