Maison  >  Article  >  développement back-end  >  Méthode PHP pour réaliser une matrice d'impression dans le sens des aiguilles d'une montre et une matrice en spirale

Méthode PHP pour réaliser une matrice d'impression dans le sens des aiguilles d'une montre et une matrice en spirale

jacklove
jackloveoriginal
2018-05-22 17:05:311648parcourir

Cet article explique comment implémenter l'impression dans le sens des aiguilles d'une montre de matrices et de matrices spirales en PHP.

L'exemple de cet article décrit la méthode d'impression d'une matrice dans le sens des aiguilles d'une montre en PHP. Partagez-le avec tout le monde pour référence, comme suit :

Question

Entrez une matrice et imprimez chaque numéro dans le sens des aiguilles d'une montre de l'extérieur vers l'intérieur. Par exemple, si vous entrez la matrice suivante :

1234

5678

9101112

13141516

puis imprimez les nombres 1,2,3,4,8,12 dans l'ordre ,16,15,14,13,9,5,6,7,11,10.

La solution

est d'imprimer en rond, tant que la boucle est contrôlée Bien.

Faites attention à la situation d'une seule ligne et d'une seule colonne.

Code d'implémentation

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;
}

Cet article explique comment implémenter l'impression dans le sens des aiguilles d'une montre des matrices et des matrices spirales en PHP Pour plus de contenu connexe, veuillez faire attention au site Web chinois de PHP.

Recommandations associées :

Apprentissage PHP : détails des variables prédéfinies

Vous apprendre à utiliser le développement PHP pour implémenter WeChat fonction de remboursement

Méthode PHP pour imprimer des arbres binaires en zigzag

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn