Kuidas rakendada mullisorteerimist koodis C-ga



See artikkel annab teile algoritmi ja töökoodiga üksikasjalikud ja põhjalikud teadmised C-vormingus mullide sorteerimisest.

Mullisorteerimine C-s on lihtne sorteerimisalgoritm, mis võrdleb korduvalt antud massiivi külgnevaid elemente ja vahetab neid, kui need on vales järjekorras. Võite mõelda nime Bubble Sort kohta. Selles artiklis käsitletakse järgmisi näpunäiteid:

Mis on mullisort C-s?

Sorteerimistehnikat nimetatakse nii, et algoritm toimib nagu mull, tulevad kergemad elemendid üles ja raskemad elemendid settivad. Bubble Sort algoritm sorteerib loendi läbipääsudena. Nüüd n elemendiga loendi sorteerimiseks nõuab mullide sortimine n-1 läbimist. Selguse huvides mõistame seda samm-sammult.





Bubble-Sort-in-C

Mullide sorteerimise algoritm

  • 1. läbimine :
    • X [0] ja X [1] võrreldakse ja vahetatakse, kui X [0]> X [1]
    • X [1] ja X [2] võrreldakse ja vahetatakse, kui X [1]> X [2]
    • X [2] ja X [3] võrreldakse ja vahetatakse, kui X [2]> X [3] ja nii edasi & hellip
    • 1. passi lõpus asetatakse loendi suurim element loendi kõrgeimale indeksile.
  • 2. pääs:
    • X [0] ja X [1] võrreldakse ja vahetatakse, kui X [0]> X [1]
    • X [1] ja X [2] võrreldakse ja vahetatakse, kui X [1]> X [2]
    • X [2] ja X [3] võrreldakse ja vahetatakse, kui X [2]> X [3] ja nii edasi & hellip
    • 2. passi lõpus on loendi suuruselt teine ​​element loendi kõrgeima teise indeksina.
  • N-1 pääs:
    • X [0] ja X [1] võrreldakse ja vahetatakse, kui X [0]> X [1]
    • X [1] ja X [2] võrreldakse ja vahetatakse, kui X [1]> X [2]
    • X [2] ja X [3] võrreldakse ja vahetatakse, kui X [2]> X [3] ja nii edasi & hellip
    • Selle passi lõpus. Loendi väikseim element paigutatakse loendi esimesse indeksisse.

Näide mullisorteerimisest C-s

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



1. läbimine

  • ( -5, 35 , 2, 13, -15) -> ( -5, 35 , 2, 13, -15). Siin võrdleb algoritm kahte esimest elementi.
  • (-5, 35, 2 , 13, -15) -> (-5, 2, 35 , 13, -15), Vaheta alates 35> 2
  • (-5, 2, 35, 13 , -15) -> (-5, 2, 13, 35 , -15), Vaheta alates 35> 13
  • (-5, 2, 13,35, -15) -> (-5, 2, 13,-15, 35), Vaheta alates 35> -15

Viimane element on suurim element.

2. läbimine



  • ( -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), Vaheta alates 13> -15

Teine viimane element on suuruselt teine ​​element.

mis on Java-s muutumatu objekt

3. pass

  • ( -5, 2 , -15, 13, 35) -> ( -5, 2 , -15, 13, 35)
  • (-5, 2, -15 , 13, 35) -> (-5, -15, 2 , 13, 35), Vaheta alates 2> -15

Kolmas viimane element on suuruselt kolmas element.

4. läbimine

  • ( -5, -15 , 2, 13, 35) -> ( -15, -5 , 2, 13, 35), Vaheta alates -5> -15

Lõpuks on esimene kõige väiksem & 2 nd on massiivi suuruselt teine ​​element. Nii et sel juhul oli 5 elemendi massiivi sorteerimiseks vaja nelja läbimist.

Enne algoritmi üksikasjalikku vaatamist vaatame mullide sorteerimise C-algoritmi ajalist keerukust.

mis on nimeruum c ++

Mullide sorteerimise keerukus

  • Halvima juhtumi keerukus:Peal2)
  • Parima juhtumi keerukus:Peal2)
  • Keskmine juhtumi keerukus:Peal)

Vaatame nüüd algoritmi kiiresti, et edasi liikudes saaksime kirjutada mullisorteerimise algoritmi C-sse.

Mullide sorteerimise funktsioon

void bubbleSort (int massiiv [], int n) {int i, j // Mullis sortimine (i = 0 i

Mullide sortimine C-programmis

#include // Funktsioon elementide vahetamiseks void swap (int * a, int * b) {int temp = * a * a = * b * b = temp} // mulli sorteerimise funktsioon void bubbleSort (int massiiv [], int n ) {int i, j jaoks (i = 0 i

Sorted-Array

Pärast ülaltoodud C-programmi käivitamist oleksite aru saanud, kuidas Bubble Sort töötab ja kuidas seda C-keeles rakendada. Loodan, et see ajaveeb on informatiivne ja annab teile lisaväärtust.

Vaadake Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Edureka Java J2EE ja SOA koolitus- ja sertifitseerimiskursus on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java arendajad. Kursus on loodud selleks, et anda teile Java programmeerimises edukas algus ja õpetada teid nii Java-põhiprogrammide kui ka edasijõudnute mõistete ning erinevate Java-raamistike, näiteks Hibernate & Spring, jaoks.

Kas teil on meile küsimus? Palun mainige seda selle artikli C mullide sorteerimise kommentaaride osas ja võtame teiega ühendust niipea kui võimalik.