Μια βασική λειτουργία παλίνδρομη ελέγχου θα μπορούσε να λάβει μια πρόταση ως επιχείρημα , και ελέγξτε ότι πρόταση για να δούμε αν έχει εμπρός και όπισθεν : έλεγχος
bool palindromCheck (string )
Αυτή η συνάρτηση επιστρέφει μια Boolean τιμή , πράγμα που σημαίνει ότι θα επιστρέψει μια αληθινή ή ψεύτικη αξία με βάση το αν ή όχι η φράση πέρασε το τεστ παλίνδρομο .
εικόνων Αντιστρέφοντας την φράση
στο πλαίσιο της διαδικασίας , πρέπει να υπάρχει ένας τρόπος για να αντιστραφεί η σειρά . Ένας προγραμματιστής μπορεί να το πετύχουν αυτό με την ανάγνωση της φράσης επιχείρημα αντίστροφα , και την αποθήκευσή του σε μια άλλη μεταβλητή συμβολοσειράς :
new_phrase string?
Int i = ( int ) checking.length ( ) - 1 ?
για ( i ? i > = 0 ? i - )
{
new_phrase.append (έλεγχος [ i ] ) ?
}
Αν και ίσως δεν είναι η πιο αποτελεσματική μέθοδος , αυτό για loop δείχνει ξεκάθαρα τι συμβαίνει : οι βρόχοι ξεκινά στο τέλος του " ελέγχου " πρόταση, και εργάζεται προς τα πίσω , προσαρτώντας κάθε χαρακτήρα να new_phrase
<. br >
Η Έλεγχος της Palindrome
Η
C + + φορείς χορδών περιλαμβάνουν τους τελεστές σύγκρισης ( μεγαλύτερο από, μικρότερο από , ίσο με) . Αυτό σημαίνει ότι οι χορδές μπορούν να συγκριθούν σαν αριθμητικές τιμές . Έτσι, αν η τιμή που έχετε εισάγει string είναι " ραντάρ ", τότε ο βρόχος θα αντιστρέψει τη λέξη και να το αποθηκεύσετε στο new_phrase μεταβλητή . Στη συνέχεια, μια απλή σύγκριση μεταξύ των μεταβλητών :
αν ( έλεγχος == new_phrase )
θα επιστρέψει "true" ( επειδή και οι δύο μεταβλητές string θα περιέχει τη λέξη « ραντάρ »)
<. br >
Περιορισμοί
Η
Η σύγκριση string λειτουργεί μόνο στις χορδές που είναι πανομοιότυπα. Εάν ένα παλίνδρομο δεν είναι απολύτως ίση προς τα εμπρός και προς τα πίσω ( όπως η φράση « Do χήνες δείτε θεός ; " ), τότε η σύγκριση θα αποτύχει ακόμα και μέσα από τη φράση είναι παλίνδρομο . Ανακαλύπτοντας περαιτέρω palindromes απαιτεί την ανάλυση και τη σύγκριση των ποινών ανά χαρακτήρα , που ψάχνουν για μοτίβα λέξη στην αντίστροφη πρόταση και όχι μια άμεση σύγκριση .
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα