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

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

Πώς να χρησιμοποιήσετε τη λειτουργία Quick Ταξινόμηση σε C + + στο Array των ακεραίων

"Quick είδος " είναι ένας αλγόριθμος ταξινόμησης που τρέχει στο n * log ( n) χρόνο , γεγονός που καθιστά πολύ αποτελεσματική για την ταξινόμηση μεγάλων συνόλων δεδομένων . Χρησιμοποιεί μια προσέγγιση του διαίρει και βασίλευε που διαχωρίζει αποτελεσματικά σύνολα δεδομένων για να εργαστεί σε πολλά στοιχεία ταυτόχρονα . Η C + + πρότυπη βιβλιοθήκη παρέχει μια λειτουργία που υλοποιεί το γρήγορο αλγόριθμο ταξινόμησης . Ταξινόμηση μια λίστα ακεραίων με γρήγορη είδος είναι απλή όταν χρησιμοποιείτε αυτό το πρότυπο υλοποίηση της βιβλιοθήκης του αλγορίθμου . Τα πράγματα που θα χρειαστείτε
επεξεργαστή κειμένου
Compiler
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Συμπεριλάβετε το πρότυπο κεφαλίδα βιβλιοθήκη " stdlib.h " . Αυτή η κεφαλίδα περιέχει την ταχεία εφαρμογή του είδους, το οποίο είναι προσβάσιμο καλώντας τη λειτουργία " qsort " :

# include 2

Δημιουργήστε τη λειτουργία σύγκρισης σας . Η λειτουργία σύγκρισης δέχεται δύο ορίσματα τύπου " void * " , το οποίο πρέπει να ρίχνει σε ένα συγκεκριμένο τύπο δεδομένων και στη συνέχεια συγκρίνονται . Εάν το πρώτο στοιχείο είναι μικρότερο από το δεύτερο , μια αρνητική τιμή πρέπει να επιστραφεί από αυτήν τη λειτουργία . Εάν το πρώτο στοιχείο είναι μεγαλύτερη από τη δεύτερη , επιστρέψει μια θετική αξία. Αν και τα δύο στοιχεία είναι ίσα , επιστρέφει μηδέν :

int CompareIntegers ( const void * arg1 , const void * arg2 )

{

int val1 = * ( int * ) arg1 ?

int val2 = * ( int * ) arg2 ?

αν ( val1

{

επιστρέψει -1 ?

}

else if ( val1 > val2 )

{

επιστροφή 1?

}

//αν φτάσαμε ως εδώ , και τα δύο στοιχεία είναι ίσα

επιστροφή 0? }


εικόνων 3

Στον κώδικα σας , καλέστε τη λειτουργία qsort . Η λειτουργία qsort διαρκεί τέσσερα επιχειρήματα : ένας δείκτης στη συστοιχία για να ταξινομήσετε , ο αριθμός των στοιχείων του πίνακα , το μέγεθος του κάθε στοιχείου του πίνακα , και τη λειτουργία σύγκρισης

//είδος η σειρά των ακεραίων .

qsort ( arrayToSort , numberOfElements , sizeof ( int ) , CompareIntegers ) ?
Η
εικόνων

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

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