Heim  >  Artikel  >  Backend-Entwicklung  >  C++-Programm zum Überprüfen, ob die Zeichenfolge streng alphabetisch geordnet ist

C++-Programm zum Überprüfen, ob die Zeichenfolge streng alphabetisch geordnet ist

WBOY
WBOYnach vorne
2023-09-05 17:01:261313Durchsuche

C++-Programm zum Überprüfen, ob die Zeichenfolge streng alphabetisch geordnet ist

Angenommen, wir haben eine Zeichenfolge S, die n Kleinbuchstaben enthält. Eine Zeichenfolge ist eine streng alphabetische Zeichenfolge, wenn sie den folgenden Regeln folgt:

  • Schreiben Sie die leere Zeichenfolge in T

  • und führen Sie dann den nächsten Schritt n-mal aus.
  • Nehmen Sie bei Schritt i die lateinischen Buchstaben heraus den i-ten Kleinbuchstaben in der Tabelle und fügen Sie ihn ein Die linke Seite der Zeichenfolge T oder die rechte Seite der Zeichenfolge T (c ist der i-te Buchstabe des lateinischen Alphabets).

Wir müssen prüfen, ob S streng in alphabetischer Reihenfolge vorliegt.

Problemkategorie

Um dieses Problem zu lösen, müssen wir Zeichenfolgen manipulieren. Strings in Programmiersprachen sind Ein Zeichenstrom, der in einem bestimmten Array-ähnlichen Datentyp gespeichert ist. mehrsprachig Geben Sie Zeichenfolgen als bestimmte Datentypen an (z. B. Java, C++, Python); und mehrere andere Sprachen Geben Sie die Zeichenfolge als Zeichenarray an (z. B. C). Strings sind beim Programmieren nützlich, weil sie Typischerweise der bevorzugte Datentyp in einer Vielzahl von Anwendungen und wird als Eingabedatentyp verwendet und Ausgabe. Es gibt verschiedene String-Operationen wie String-Suche, Teilstring-Generierung, String-Stripping-Operation, String-Übersetzungsoperation, String-Ersetzungsoperation, String Rückwärtsbetrieb und so weiter. Schauen Sie sich den Link unten an, um zu sehen, wie Strings funktionieren Wird in C/C++ verwendet.

https://www.tutorialspoint.com/cplusplus/cpp_strings.htm

https://www.tutorialspoint.com/cprogramming/c_strings. htm

Wenn also die Eingabe für unser Problem etwa S = „ihfcbadeg“ ist, dann ist die Ausgabe „True“.

Schritte

Um dieses Problem zu lösen, folgen wir den folgenden Schritten -

len := size of S
for initialize i := len, when i >= 1, update (decrease i by 1), do:
   if S[l] is the i th character, then:
      (increase l by 1)
   otherwise when S[r] is the ith character, then:
      (decrease r by 1)
   Otherwise
      Come out from the loop
if i is same as 0, then:
   return true
Otherwise
   return false

Beispiel

Sehen wir uns zum besseren Verständnis die folgende Implementierung an -

#include <bits/stdc++.h>
using namespace std;
bool solve(string S){
   int len = S.size(), l = 0, r = len - 1, i;
   for (i = len; i >= 1; i--){
      if (S[l] - &#39;a&#39; + 1 == i)
         l++;
      else if (S[r] - &#39;a&#39; + 1 == i)
         r--;
      else
         break;
   }
   if (i == 0)
      return true;
   else
      return false;
}
int main(){
   string S = "ihfcbadeg";
   cout << solve(S) << endl;
}

Eingabe

"ihfcbadeg"

Ausgabe

1

Das obige ist der detaillierte Inhalt vonC++-Programm zum Überprüfen, ob die Zeichenfolge streng alphabetisch geordnet ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen