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

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

Πώς να χρησιμοποιήσετε Δείκτες Λειτουργία σε δυαδική αναζήτηση Επιχείρημα σε C + +

βιβλιοθήκη αλγόριθμο της Standard C + + Library περιέχει υλοποιήσεις των πολλών κοινών αλγορίθμων προγραμματισμού . Οι εφαρμογές αυτές προσφέρουν μια σειρά από ευελιξία , επιτρέποντας στον προγραμματιστή να ορίσετε συναρτήσεις σύγκρισης για τη σύγκριση με βάση αλγορίθμων που μπορεί να λειτουργήσει με οποιαδήποτε δομή δεδομένων νοητή . Προσθέτοντας μια λειτουργία σύγκριση με μια δυαδική αναζήτηση χρησιμοποιώντας δείκτες λειτουργία επιτρέπει στον προγραμματιστή να επωφεληθούν από αυτή την ευελιξία , και εξασφαλίζει ότι κάθε αντικείμενο που δημιουργείται από τον προγραμματιστή μπορούν να αναζητηθούν με την πρότυπη βιβλιοθήκη . Τα πράγματα που θα χρειαστείτε
επεξεργαστή κειμένου
Compiler
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Ταξινομήστε τη λίστα των αντικειμένων που πρέπει να αναζητηθούν . Μια δυαδική αναζήτηση εξαρτάται από μια ταξινομημένη λίστα είναι παρούσα . Χρησιμοποιήστε τη λειτουργία ταξινόμησης του πρότυπο βιβλιοθήκης για να απλοποιήσει αυτή τη διαδικασία , όταν χρησιμοποιεί τυποποιημένα εμπορευματοκιβώτια βιβλιοθήκη:

std :: sort ( myList.begin ( ) ? MyList.end ( ) ) ? 2

Δημιουργήστε τη λειτουργία σύγκρισης σας για το δυαδικό αλγόριθμο αναζήτησης . Η λειτουργία της συγκρίσεως πρέπει να επιστρέψει true αν το πρώτο όρισμα είναι μικρότερο από το δεύτερο . Προσαρμόστε αυτή τη λειτουργία για να αποδεχθεί τα επιχειρήματα της εν λόγω κατηγορίας σας , και να εξασφαλίσει ότι η εν λόγω κατηγορίας υλοποιεί το λιγότερο - από ό, τι ( " <" ) χειριστή :

bool MyComparison ( MyType i , MyType ι)

{

επιστροφή ( i

}
εικόνων 3

Δώστε τη λειτουργία σύγκρισης σας ως επιχείρημα για την δυαδική λειτουργία αναζήτησης του προτύπου βιβλιοθήκης :

binary_search ( myList.begin ( ) , myList.end ( ) , MyComparison ) ?

Αυτή η λειτουργία θα χρησιμοποιεί πλέον τη λειτουργία σύγκρισης για να εκτελεστεί η δυαδική αναζήτηση
Η .
εικόνων

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

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