이 글에서는 주로 시계 방향 인쇄 행렬(나선형 행렬)을 구현하는 PHP 방법을 소개하며, 나선형 행렬 기능을 구현하기 위한 배열 순회 및 연산 시뮬레이션 인쇄를 기반으로 하는 PHP 관련 작업 기술을 포함합니다. 다음 도서 기사를 참고하세요.
이 문서의 예에서는 PHP에서 시계 방향으로 행렬을 인쇄하는 방법을 설명합니다. 참고를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
Question
행렬을 입력하고 바깥쪽에서 안쪽으로 시계 방향으로 각 숫자를 인쇄합니다. 예를 들어 다음 행렬을 입력하면. :
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
숫자 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!