Rumah >pembangunan bahagian belakang >C++ >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
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.
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.
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
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] - 'a' + 1 == i) l++; else if (S[r] - 'a' + 1 == i) r--; else break; } if (i == 0) return true; else return false; } int main(){ string S = "ihfcbadeg"; cout << solve(S) << endl; }
"ihfcbadeg"
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!