Πώς να εφαρμόσετε το Bubble Sort σε C με κωδικό



Αυτό το άρθρο θα σας δώσει μια λεπτομερή και περιεκτική γνώση του Bubble Sort in C με τον αλγόριθμο και τον κώδικα εργασίας.

Το Bubble sort στο C είναι ένας απλός αλγόριθμος ταξινόμησης που συγκρίνει επανειλημμένα τα παρακείμενα στοιχεία του δεδομένου πίνακα & τα ανταλλάσσει αν είναι σε λάθος σειρά. Ίσως αναρωτιέστε για το όνομα Bubble Sort. Ακολουθούν οι δείκτες που καλύπτονται σε αυτό το άρθρο:

Τι είναι το Bubble Sort στο C;

Η τεχνική ταξινόμησης ονομάζεται έτσι επειδή ο αλγόριθμος ενεργεί σαν μια φούσκα, τα ελαφρύτερα στοιχεία εμφανίζονται και τα βαρύτερα στοιχεία καθίστανται κατεστραμμένα. Ο αλγόριθμος Bubble Sort ταξινομεί τη λίστα σε περάσματα. Τώρα, για να ταξινομήσετε μια λίστα με στοιχεία n Η ταξινόμηση φυσαλίδων απαιτεί περάσματα n-1. Για να το καταστήσουμε σαφέστερο, ας κατανοήσουμε αυτό το βήμα προς βήμα.





Bubble-Sort-in-C

Αλγόριθμος Bubble Sort

  • Περάστε 1 :
    • Συγκρίνονται τα X [0] & X [1] και ανταλλάσσονται εάν X [0]> X [1]
    • Συγκρίνονται τα X [1] & X [2] και ανταλλάσσονται εάν X [1]> X [2]
    • X [2] & X [3] συγκρίνονται και ανταλλάσσονται εάν X [2]> X [3] και ούτω καθεξής & hellip
    • Στο τέλος του περάσματος 1, το μεγαλύτερο στοιχείο της λίστας τοποθετείται στον υψηλότερο δείκτη της λίστας.
  • Πέρασμα 2:
    • Συγκρίνονται τα X [0] & X [1] και ανταλλάσσονται εάν X [0]> X [1]
    • Συγκρίνονται τα X [1] & X [2] και ανταλλάσσονται εάν X [1]> X [2]
    • X [2] & X [3] συγκρίνονται και ανταλλάσσονται αν X [2]> X [3] και ούτω καθεξής & hellip
    • Στο τέλος του περάσματος 2 το δεύτερο μεγαλύτερο στοιχείο της λίστας τοποθετείται στον δεύτερο υψηλότερο δείκτη της λίστας.
  • Πέρασμα n-1:
    • Συγκρίνονται τα X [0] & X [1] και ανταλλάσσονται εάν X [0]> X [1]
    • Συγκρίνονται τα X [1] & X [2] και ανταλλάσσονται εάν X [1]> X [2]
    • X [2] & X [3] συγκρίνονται και ανταλλάσσονται εάν X [2]> X [3] και ούτω καθεξής & hellip
    • Στο τέλος αυτής της κάρτας. Το μικρότερο στοιχείο της λίστας τοποθετείται στον πρώτο κατάλογο της λίστας.

Παράδειγμα Bubble Sort σε C

Πίνακας: -5, 35, 2, 13, -15



Περάστε 1

  • ( -5, 35 , 2, 13, -15) -> ( -5, 35 , 2, 13, -15), Εδώ, ο αλγόριθμος συγκρίνει τα δύο πρώτα στοιχεία.
  • (-5, 35, 2 , 13, -15) -> (-5, 2, 35 , 13, -15), Ανταλλαγή από 35> 2
  • (-5, 2, 35, 13 , -15) -> (-5, 2, 13, 35 , -15), Ανταλλαγή από 35> 13
  • (-5, 2, 13,35, -15) -> (-5, 2, 13,-15, 35), Ανταλλαγή από 35> -15

Το τελευταίο στοιχείο είναι το μεγαλύτερο στοιχείο.

Πέρασμα 2



  • ( -5, 2 , 13, -15, 35) -> (- 5, 2 , 13, -15, 35)
  • (-5, 2, 13, 35, -15) -> (-5, 2, 13 , -15, 35)
  • (-5, 2, 13, -15 , 35) -> (-5, 2, -15, 13 , 35), Ανταλλαγή από 13> -15

Το δεύτερο τελευταίο στοιχείο είναι το δεύτερο μεγαλύτερο στοιχείο.

οι χορδές στην Java είναι αμετάβλητες

Περάστε 3

  • ( -5, 2 , -15, 13, 35) -> ( -5, 2 , -15, 13, 35)
  • (-5, 2, -15 , 13, 35) -> (-5, -15, 2 , 13, 35), Ανταλλαγή από 2> -15

Το τρίτο τελευταίο στοιχείο είναι το τρίτο μεγαλύτερο στοιχείο.

Περάστε 4

  • ( -5, -15 , 2, 13, 35) -> ( -15, -5 , 2, 13, 35), Ανταλλαγή από -5> -15

Τελικά, το πρώτο είναι το μικρότερο & 2 αρ είναι το δεύτερο μικρότερο στοιχείο του πίνακα. Έτσι, σε αυτήν την περίπτωση, απαιτήθηκαν τέσσερα περάσματα για να ταξινομηθεί ένας πίνακας 5 στοιχείων.

Πριν εξετάσουμε λεπτομερώς τον αλγόριθμο, ας δούμε την πολυπλοκότητα του αλγορίθμου Bubble Sort in C.

Η πολυπλοκότητα του Bubble Sort

  • Χειρότερη περίπλοκη περίπτωση:Επί2)
  • Καλύτερη πολυπλοκότητα περιπτώσεων:Επί2)
  • Μέση πολυπλοκότητα περιπτώσεων:Επί)

Τώρα ας δούμε γρήγορα τον αλγόριθμο, ώστε να προχωρήσουμε μπροστά μπορούμε να γράψουμε τον αλγόριθμο ταξινόμησης Bubble σε C.

Λειτουργία ταξινόμησης φυσαλίδων

void bubbleSort (int array [], int n) {int i, j // Περάστε σε Bubble Sort για (i = 0 i

Bubble Sort in C Program

#include // Λειτουργία ανταλλαγής στοιχείων void swap (int * a, int * b) {int temp = * a * a = * b * b = temp} // λειτουργία ταξινόμησης φυσαλίδων void bubbleSort (int array [], int n ) {int i, j για (i = 0 i

Sorted-Array

τι είναι σειριοποιήσιμο στην Java

Τώρα μετά την εκτέλεση του παραπάνω προγράμματος Γ, θα καταλάβατε πώς λειτουργεί το Bubble Sort και πώς να το εφαρμόσετε στη γλώσσα Γ. Ελπίζω ότι αυτό το blog είναι ενημερωτικό και προστιθέμενη αξία για εσάς.

Δείτε το από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το μάθημα εκπαίδευσης και πιστοποίησης Java J2EE και SOA της Edureka έχει σχεδιαστεί για φοιτητές και επαγγελματίες που θέλουν να γίνουν προγραμματιστές Java. Το μάθημα έχει σχεδιαστεί για να σας δώσει μια πρώτη αρχή στον προγραμματισμό Java και να σας εκπαιδεύσει τόσο για τις βασικές όσο και για τις προηγμένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του άρθρου Bubble Sort in C και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.