Maison  >  Article  >  développement back-end  >  Programme C++ pour vérifier si la chaîne est strictement par ordre alphabétique

Programme C++ pour vérifier si la chaîne est strictement par ordre alphabétique

WBOY
WBOYavant
2023-09-05 17:01:261330parcourir

Programme C++ pour vérifier si la chaîne est strictement par ordre alphabétique

Supposons que nous ayons une chaîne S contenant n lettres minuscules. Une chaîne est une chaîne strictement alphabétique si elle suit les règles suivantes -

  • Écrivez la chaîne vide dans T

  • puis effectuez l'étape suivante n fois
  • À l'étape i, retirez les lettres latines ; la i-ème lettre minuscule du tableau et insérez-la dans Le côté gauche de la chaîne T ou le côté droit de la chaîne T (c est la ième lettre de l'alphabet latin).

Nous devons vérifier si S est strictement dans l'ordre alphabétique des chaînes.

Catégorie de problèmes

Pour résoudre ce problème, nous devons manipuler les chaînes. Les chaînes dans les langages de programmation sont Un flux de caractères stocké dans un type de données spécifique de type tableau. multilingue Spécifiez des chaînes en tant que types de données spécifiques (par exemple Java, C++, Python et plusieurs autres langages) ; Spécifiez la chaîne sous forme de tableau de caractères (tel que C). Les chaînes sont utiles en programmation car elles Souvent le type de données préféré dans diverses applications et utilisé comme type de données d’entrée et sortie. Il existe diverses opérations sur les chaînes telles que la recherche de chaînes, la génération de sous-chaînes, Opération de suppression de chaîne, opération de traduction de chaîne, opération de remplacement de chaîne, chaîne Opération inverse et ainsi de suite. Consultez le lien ci-dessous pour voir comment les chaînes Utilisé en C/C++.

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

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

Donc, si l'entrée de notre problème est quelque chose comme S = "ihfcbadeg", alors la sortie sera True.

Étapes

Pour résoudre ce problème, nous suivrons les étapes suivantes -

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

Exemple

Voyons l'implémentation suivante pour une meilleure compréhension -

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

Input

"ihfcbadeg"

Output

1

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer