Rumah >pembangunan bahagian belakang >C++ >Program C++ untuk menyemak sama ada rentetan adalah mengikut susunan abjad

Program C++ untuk menyemak sama ada rentetan adalah mengikut susunan abjad

WBOY
WBOYke hadapan
2023-09-05 17:01:261364semak imbas

Program C++ untuk menyemak sama ada rentetan adalah mengikut susunan abjad

Andaikan kita mempunyai rentetan S yang mengandungi n huruf kecil. Rentetan ialah rentetan abjad yang ketat jika ia mengikut peraturan berikut -

  • Tulis rentetan kosong ke T

  • dan kemudian lakukan langkah seterusnya n kali
  • Pada langkah i, keluarkan huruf Latin huruf kecil ke-i dalam jadual dan masukkan ke dalam Bahagian kiri rentetan T atau bahagian kanan rentetan T (c ialah huruf ke-1 abjad Latin).

Kita perlu menyemak sama ada S adalah mengikut susunan rentetan abjad.

Kategori Masalah

Untuk menyelesaikan masalah ini, kita perlu memanipulasi rentetan. Rentetan dalam bahasa pengaturcaraan ialah Aliran aksara yang disimpan dalam jenis data seperti tatasusunan tertentu. berbilang bahasa Tentukan rentetan sebagai jenis data tertentu (cth. Java, C++, Python dan beberapa bahasa lain); Tentukan rentetan sebagai tatasusunan aksara (seperti C). Rentetan berguna dalam pengaturcaraan kerana mereka Selalunya jenis data pilihan dalam pelbagai aplikasi dan digunakan sebagai jenis data input dan keluaran. Terdapat pelbagai operasi rentetan seperti carian rentetan, penjanaan subrentetan, Operasi pelucutan rentetan, operasi terjemahan rentetan, operasi penggantian rentetan, rentetan Operasi terbalik dan sebagainya. Semak pautan di bawah untuk melihat bagaimana rentetan Digunakan dalam C/C++.

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

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

Jadi jika input kepada masalah kita adalah seperti S = "ihfcbadeg" maka outputnya akan menjadi Benar.

Langkah

Untuk menyelesaikan masalah ini kami akan mengikuti langkah berikut -

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

Contoh

Mari kita lihat pelaksanaan berikut untuk pemahaman yang lebih baik -

#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

Atas ialah kandungan terperinci Program C++ untuk menyemak sama ada rentetan adalah mengikut susunan abjad. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam