>백엔드 개발 >PHP 튜토리얼 >PHP에서 행렬과 나선형 행렬의 시계 방향 인쇄를 구현하는 방법

PHP에서 행렬과 나선형 행렬의 시계 방향 인쇄를 구현하는 방법

jacklove
jacklove원래의
2018-05-22 17:05:311683검색

이 글에서는 PHP에서 행렬과 나선형 행렬의 시계 방향 인쇄를 구현하는 방법을 설명합니다.

이 문서의 예에서는 PHP에서 시계 방향으로 행렬을 인쇄하는 방법을 설명합니다. 참고를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

Question

행렬을 입력하고 각 숫자를 바깥쪽에서 안쪽으로 시계 방향으로 인쇄하세요. 예를 들어 다음 행렬을 입력하면

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 개발을 사용하여 WeChat 환불 기능을 구현하는 방법을 가르쳐주세요

PHP는 지그재그 순서로 이진 트리를 인쇄하는 방법을 구현합니다

위 내용은 PHP에서 행렬과 나선형 행렬의 시계 방향 인쇄를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.