Cum se implementează sortarea cu bule în C cu cod



Acest articol vă va oferi o cunoaștere detaliată și cuprinzătoare a sortării cu bule în C, cu algoritmul și codul de lucru.

Sortarea cu bule în C este un algoritm simplu de sortare care compară în mod repetat elementele adiacente ale matricei date și le schimbă dacă acestea sunt în ordinea greșită. S-ar putea să vă întrebați despre numele Sortare cu bule. Următoarele sunt indicatoarele acoperite în acest articol:

Ce este o sortare cu bule în C?

Tehnica de sortare se numește așa deoarece algoritmul acționează ca o bulă, elementele mai ușoare apar și elementele mai grele se așează. Algoritmul Sortare cu bule sortează lista în treceri. Acum, pentru a sorta o listă cu n elemente Sortarea cu bule necesită n-1 treceri. Pentru a fi mai clar, să înțelegem acest pas cu pas.





Bubble-Sort-in-C

Algoritmul sortării cu bule

  • Treceți 1 :
    • X [0] și X [1] sunt comparate și schimbate dacă X [0]> X [1]
    • X [1] și X [2] sunt comparate și schimbate dacă X [1]> X [2]
    • X [2] și X [3] sunt comparate și schimbate dacă X [2]> X [3] și așa mai departe & hellip
    • La sfârșitul pasului 1, cel mai mare element al listei este plasat la cel mai mare indice al listei.
  • Pasul 2:
    • X [0] și X [1] sunt comparate și schimbate dacă X [0]> X [1]
    • X [1] și X [2] sunt comparate și schimbate dacă X [1]> X [2]
    • X [2] și X [3] sunt comparate și schimbate dacă X [2]> X [3] și așa mai departe & hellip
    • La sfârșitul pasului 2, al doilea cel mai mare element al listei este plasat la al doilea cel mai mare index al listei.
  • Treceți n-1:
    • X [0] și X [1] sunt comparate și schimbate dacă X [0]> X [1]
    • X [1] și X [2] sunt comparate și schimbate dacă X [1]> X [2]
    • X [2] și X [3] sunt comparate și schimbate dacă X [2]> X [3] și așa mai departe & hellip
    • La sfârșitul acestei treceri. Cel mai mic element al listei este plasat la primul index al listei.

Exemplu de sortare cu bule în C

Matrice: -5, 35, 2, 13, -15



Treceți 1

  • ( -5, 35 , 2, 13, -15) -> ( -5, 35 , 2, 13, -15), Aici, algoritmul compară primele două elemente.
  • (-5, 35, 2 , 13, -15) -> (-5, 2, 35 , 13, -15), Schimb de la 35> 2
  • (-5, 2, 35, 13 , -15) -> (-5, 2, 13, 35 , -15), Schimb de la 35> 13
  • (-5, 2, 13,35, -15) -> (-5, 2, 13,-15, 35), Swap din 35> -15

Ultimul element este cel mai mare element.

Trecerea 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), Swap din 13> -15

Al doilea ultim element este al doilea element ca mărime.

programare socket în java exemplu

Trecerea 3

  • ( -5, 2 , -15, 13, 35) -> ( -5, 2 , -15, 13, 35)
  • (-5, 2, -15 , 13, 35) -> (-5, -15, 2 , 13, 35), Schimb de la 2> -15

Al treilea ultim element este al treilea element ca mărime.

Pasul 4

  • ( -5, -15 , 2, 13, 35) -> ( -15, -5 , 2, 13, 35), Swap din -5> -15

În cele din urmă, primul este cel mai mic & 2 nd este al doilea cel mai mic element din matrice. Deci, în acest caz, au fost necesare patru treceri pentru a sorta o serie de 5 elemente.

Înainte de a analiza detaliat algoritmul, să analizăm complexitatea timpului algoritmului Sortare cu bule în C.

Complexitatea sortării cu bule

  • Cel mai prost caz de complexitate:Pe2)
  • Complexitatea celui mai bun caz:Pe2)
  • Complexitatea medie a cazurilor:Pe)

Acum, să ne uităm rapid la algoritm, astfel încât să mergem înainte să putem scrie algoritmul de sortare Bubble în C.

Funcția de sortare cu bule

void bubbleSort (int array [], int n) {int i, j // Pass in Bubble Sort for (i = 0 i

Sortare cu bule în programul C.

#include // Funcția de swap elemente swid swap (int * a, int * b) {int temp = * a * a = * b * b = temp} // funcția sortare bule void bubbleSort (int array [], int n ) {int i, j pentru (i = 0 i

Sorted-Array

Acum, după executarea programului C de mai sus, ați fi înțeles cum funcționează Bubble Sort și cum să-l implementați în limbajul C. Sper că acest blog vă este informativ și cu valoare adăugată.

Verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început important în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

cum se inversează un python șir

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui articol Sortare cu bule în C și vă vom contacta cât mai curând posibil.