Heim > Artikel > Backend-Entwicklung > Prinzip und Verwendung des umgekehrten polnischen Algorithmus in PHP
Dieser Artikel stellt hauptsächlich das Prinzip und die Verwendung des PHP-Reverse-Polnisch-Algorithmus vor. Ich hoffe, dass er für alle hilfreich ist.
Der allgemeine Algorithmus zum Konvertieren eines gewöhnlichen Inorder-Ausdrucks in einen umgekehrten polnischen Ausdruck lautet:
Zuerst müssen Sie zwei Stapel zuweisen, einen als temporären Speicheroperatorstapel S1 (einschließlich eines Endsymbols). ) wird ein umgekehrter polnischer Stapel S2 (leerer Stapel) als Eingabe verwendet. Der S1-Stack kann zuerst in den Operator # mit der niedrigsten Priorität eingefügt werden. Beachten Sie, dass der Infix-Ausdruck mit dem Operator mit der niedrigsten Priorität enden sollte. Es können auch andere Zeichen angegeben werden, nicht unbedingt #. Nehmen Sie Zeichen vom linken Ende des Infix-Ausdrucks und gehen Sie Schritt für Schritt wie folgt vor:
(1) Wenn das herausgenommene Zeichen ein Operand ist, wird der gesamte Operand analysiert und der Operand gesendet direkt in den S2-Stapel; wenn Was herausgenommen wird, ist ein Operator, und die aktuelle Spitze des S1-Stapels ist (, dann wird der aktuelle Operator direkt in den S1-Stapel gelegt.
(2) Wenn das Zeichen Wird ein Operator herausgenommen, wird der Operator mit dem obersten Element des S1-Stapels kombiniert. Wenn die Priorität des Operators größer ist als die Priorität des Operators oben im S1-Stapel, wird der Operator hineingeschoben Andernfalls wird der oberste Operator auf dem S1-Stapel herausgenommen und an den S2-Stapel gesendet, bis der S1-Stapel eine niedrigere Priorität hat als der Operator (außer gleich). Der Operator wird an den S1-Stapel gesendet
(3) Wenn das herausgenommene Zeichen „(“ ist, wird es direkt an S1 gesendet. Die Oberseite des Stapels.
(4) Wenn das herausgenommene Zeichen „)“ ist, werden die Operatoren zwischen dem „(“, das am nächsten an der Spitze des S1-Stapels liegt, nacheinander vom Stapel genommen und der Reihe nach an den S2-Stapel gesendet. Zu diesem Zeitpunkt wird „(“ verworfen. ".
(5) Wiederholen Sie die obigen Schritte 1 bis 4, bis alle eingegebenen Zeichen verarbeitet sind
(6) Wenn das herausgenommene Zeichen „#“ ist, dann fügen Sie alle Operatoren ein S1-Stapel (außer „#“) und nacheinander an den S2-Stapel senden
Nach Abschluss der oben genannten Schritte gibt der S2-Stapel das Ergebnis im umgekehrten polnischen Format aus Dies. Dann können Sie es nach der umgekehrten polnischen Berechnungsmethode berechnen. Ich hoffe, dass es für alle hilfreich ist. Verwandte Empfehlungen:
So lokalisieren Sie Remote-Bilder in PHP
Testmethoden und Beispiele für PHP-Skripte
Zusammenfassungsfreigabe von PHP-Verarbeitungssitzungsfunktionen
Das obige ist der detaillierte Inhalt vonPrinzip und Verwendung des umgekehrten polnischen Algorithmus in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!