Maison > développement back-end > C++ > 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
Libérer: 2023-09-05 17:01:26
avant
1370 Les gens l'ont consulté

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
Copier après la connexion

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;
}
Copier après la connexion

Input

"ihfcbadeg"
Copier après la connexion

Output

1
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal