php打印矩阵,PHP实现顺时针打印矩阵(螺旋矩阵)的方法示例
這篇文章主要介紹了PHP實現順時針打印矩陣(螺旋矩陣)的方法,涉及PHP基于數組遍歷、運算模擬打印實現螺旋矩陣功能的相關操作技巧,對PHP感興趣的朋友可以參考下本篇文章。
本文實例講述了PHP實現順時針打印矩陣的方法。分享給大家供大家參考,具體如下:
問題
輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數字,例如,如果輸入如下矩陣:1234
5678
9101112
13141516
則依次打印出數字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
解決方法
就是一圈一圈地打印,只要控制好循環就可以。
注意單行單列的情況。
實現代碼<?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实现顺时针打印矩阵(螺旋矩阵)的方法示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 查询键名是否存在,PHP arr
- 下一篇: Linux qt程序打包依赖库,Linu