Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να Alphabetize ένα Array σε C + +

Η Standard C + + βιβλιοθήκη προτύπων είναι γεμάτο από χρήσιμες λειτουργίες για την αντιμετώπιση των στοιχείων, συμπεριλαμβανομένου του αλγορίθμου ταξινόμησης . Δυστυχώς , εάν χρησιμοποιούν τον αλγόριθμο ταξινόμησης σε μια σειρά από strings , δεν θα βγει σε αλφαβητική σειρά . Αντ 'αυτού, προεπιλογές για τη διαλογή τους σε κάτι που είναι γνωστό ως σειρά ASCIIbetical - μια ταξινόμηση με βάση την εσωτερική κωδικοποίηση των ατομικών επιστολών . Για να ταξινομήσετε αλφαβητικά , θα πρέπει να παρέχουν μια λειτουργία που λέει τον αλγόριθμο ταξινόμησης ακριβώς πώς να συγκρίνει δύο συμβολοσειρές με τον τρόπο που θέλετε . Οδηγίες
Η 1

Συμπεριλάβετε όλες τις απαραίτητες κεφαλίδες , προσθέτοντας τις ακόλουθες γραμμές στην αρχή του προγράμματός σας : # include # include 2

Γράψτε ένα περιτύλιγμα για τη λειτουργία lexographical_compare . Η λειτουργία ταξινόμησης ( ) που θα χρησιμοποιήσετε αργότερα απαιτεί τη λειτουργία σύγκρισης για να πάρουν δύο χορδές ως επιχειρήματα και να επιστρέψει μια bool , το οποίο δεν είναι το πώς λειτουργεί η λειτουργία lexographical_compare . Μπορείτε να δηλώσετε αυτή τη λειτουργία ως μια παγκόσμια λειτουργία στο namespace του έργου σας , ώστε να μπορέσει να χρησιμοποιηθεί από οποιοδήποτε μέρος του προγράμματός σας . Αν το μόνο που χρειάζεται για να ταξινομήσετε αλφαβητικά μια σειρά μέσα σε μια τάξη , μπορεί να θέλετε να το δηλώσουν ως function.bool myCompare ιδιωτικού μέλος (string α , string β) { lexographical_compare επιστροφής ( a.begin ( ) , a.end ( ) , b . να αρχίσει ( ) , b.end ( ) ) ? }
εικόνων 3

Ταξινόμηση τον πίνακα χρησιμοποιώντας τον αλγόριθμο ταξινόμησης με τη λειτουργία σύγκρισης που μόλις έγραψε : είδος ( myStringArray , myStringArray + myStringArrayCount , myCompare ) ?
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα