Heim >Backend-Entwicklung >PHP-Tutorial >Ein Beispiel für die Implementierung einer Druckmatrix im Uhrzeigersinn (Spiralmatrix) in PHP

Ein Beispiel für die Implementierung einer Druckmatrix im Uhrzeigersinn (Spiralmatrix) in PHP

jacklove
jackloveOriginal
2018-07-02 17:57:441985Durchsuche

In diesem Artikel wird hauptsächlich die Methode zur Realisierung einer Druckmatrix im Uhrzeigersinn (Spiralmatrix) in PHP vorgestellt und die zugehörigen Betriebsfähigkeiten von PHP zur Realisierung der Spiralmatrixfunktion basierend auf Array-Traversierung und Operationssimulationsdrucken berücksichtigt it

Das Beispiel in diesem Artikel beschreibt die Methode zum Drucken einer Matrix im Uhrzeigersinn in PHP. Teilen Sie es als Referenz mit allen:

Frage

Geben Sie eine Matrix ein und drucken Sie sie im Uhrzeigersinn von außen aus nach innen. Wenn Sie beispielsweise die folgende Matrix eingeben:


1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

, dann sind die Zahlen 1,2,3,4,8, 12,16,15 werden nacheinander ausgedruckt ,14,13,9,5,6,7,11,10.

Die Lösung

besteht darin, im Kreis zu drucken, solange der Zyklus gut kontrolliert wird.
Achten Sie auf die Situation einer einzelnen Zeile und einer einzelnen Spalte.

Implementierungscode

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

Der Artikel könnte Sie interessieren :

Erklärung der Methode zur Bestimmung, ob ein Binärbaum in PHP symmetrisch ist

Erklärung der Methode zum Löschen aller Dateien in einem Verzeichnis Verwendung einer Codezeile in PHP

Erklärung, wie man das erste sich nicht wiederholende Zeichen im Zeichenstrom in PHP erhält

Das obige ist der detaillierte Inhalt vonEin Beispiel für die Implementierung einer Druckmatrix im Uhrzeigersinn (Spiralmatrix) in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn