Πώς να εφαρμόσετε το Bubble Sort στον προγραμματισμό C;

Pos Na Epharmosete To Bubble Sort Ston Programmatismo C



Η ταξινόμηση πινάκων ή κοντέινερ είναι μια κοινή διαδικασία στον προγραμματισμό και η C++ προσφέρει διάφορους αλγόριθμους ταξινόμησης για εφαρμογή. Ανάμεσα τους, Ταξινόμηση με φυσαλίδες είναι ο ευκολότερος και απλούστερος αλγόριθμος για εφαρμογή σε C++.

Αυτό το άρθρο περιγράφει έναν εύκολο τρόπο εφαρμογής Ταξινόμηση με φυσαλίδες στον προγραμματισμό C.

Τι είναι το Bubble-Sort στον προγραμματισμό C;

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







Πώς λειτουργούν οι ταξινομήσεις με φυσαλίδες;

Εδώ είναι ένας βήμα προς βήμα οδηγός για την εφαρμογή Ταξινόμηση με φυσαλίδες στο Γ.



Ας εξετάσουμε τον πίνακα εισόδου {5, 3, 1, 4, 6} . Για να ταξινομήσετε αυτόν τον πίνακα χρησιμοποιώντας Ταξινόμηση με φυσαλίδες , ακολουθούμε τα παρακάτω περάσματα:



Πρώτο πέρασμα:

(5 3 1 4 6) -> (3 5 1 4 6), Ανταλλαγή από 5 > 3





(3 5 1 4 6) -> (3 1 5 4 6), Ανταλλαγή από 5 > 1

(3 1 5 4 6) -> (3 1 4 5 6), Ανταλλαγή από 5 > 4



(3 1 4 5 6) -> (3 1 4 5 6), Χωρίς εναλλαγή καθώς όλα τα στοιχεία είναι σε σειρά.

Δεύτερο πάσο:

(3 1 4 5 6) -> (1 3 4 5 6), Ανταλλαγή από 3 > 1

(1 3 4 5 6) -> (1 3 4 5 6), Χωρίς εναλλαγή καθώς όλα τα στοιχεία είναι σε σειρά.

Τρίτο πέρασμα:

(1 3 4 5 6) -> (1 3 4 5 6), Χωρίς εναλλαγή καθώς όλα τα στοιχεία είναι σε σειρά.

Ο πίνακας ταξινομείται και ο αλγόριθμος το αναγνωρίζει μετά το τρίτο πέρασμα καθώς δεν υπήρχαν εναλλαγές.

Πρόγραμμα ταξινόμησης με φυσαλίδες σε C

Ακολουθεί η υλοποίηση του Ταξινόμηση φυσαλίδων στον προγραμματισμό C.

#include

ενθ κύριος ( ) {

ενθ πίνακας [ 100 ] , n , Χ , και , μικρό ;

printf ( 'Πληκτρολογήστε τον αριθμό των στοιχείων πίνακα: ' ) ;

scanf ( '%ρε' , & n ) ;

printf ( 'Πληκτρολογήστε τις τιμές των στοιχείων: ' ) ;

Για ( Χ = 0 ; Χ < n ; Χ ++ )

scanf ( '%ρε' , & πίνακας [ Χ ] ) ;

Για ( Χ = 0 ; Χ < n - 1 ; Χ ++ ) {

Για ( και = 0 ; και < n - Χ - 1 ; και ++ ) {

αν ( πίνακας [ και ] > πίνακας [ και + 1 ] ) {

μικρό = πίνακας [ και ] ;

πίνακας [ και ] = πίνακας [ και + 1 ] ;

πίνακας [ και + 1 ] = μικρό ; }

}

}

printf ( 'Ταξινομημένος πίνακας μετά τη χρήση ταξινόμησης με φυσαλίδες: ' ) ;

Για ( Χ = 0 ; Χ < n ; Χ ++ )

{

printf ( '%d' , πίνακας [ Χ ] ) ;

}

ΕΠΙΣΤΡΟΦΗ 0 ;

}

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

Παραγωγή

συμπέρασμα

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