C-muodossa oleva kuplalajittelu on yksinkertainen lajittelualgoritmi, joka vertaa toistuvasti annetun taulukon vierekkäisiä elementtejä ja vaihtaa ne, jos ne ovat väärässä järjestyksessä. Saatat miettiä nimeä Bubble Sort. Tässä artikkelissa käsitellään viitteitä:
- Mikä on kuplalajittelu C: ssä?
- Bubble Sort -algoritmi
- Esimerkki kuplalajittelusta luokassa C.
- Kuplan lajittelutoiminto
- Kuplalajittelu C-ohjelmassa
Mikä on kuplalajittelu C: ssä?
Lajittelutekniikkaa kutsutaan siten, että algoritmi toimii kuin kupla, kevyemmät elementit nousevat ylös ja raskaammat elementit asettuvat. Bubble Sort -algoritmi lajittelee luettelon passina. Nyt lajittelemaan n elementtiä sisältävä luettelo Bubble sort vaatii n-1 läpikulun. Selvyyden vuoksi ymmärretään tämä vaihe vaiheelta.
Bubble Sort -algoritmi
- Pass 1 :
- X [0] ja X [1] verrataan ja vaihdetaan, jos X [0]> X [1]
- X [1] ja X [2] verrataan ja vaihdetaan, jos X [1]> X [2]
- X [2] ja X [3] verrataan ja vaihdetaan, jos X [2]> X [3] ja niin edelleen & hellip
- Hyväksynnän 1 lopussa luettelon suurin osa sijoitetaan luettelon korkeimpaan hakemistoon.
- Pass 2:
- X [0] ja X [1] verrataan ja vaihdetaan, jos X [0]> X [1]
- X [1] ja X [2] verrataan ja vaihdetaan, jos X [1]> X [2]
- X [2] ja X [3] verrataan ja vaihdetaan, jos X [2]> X [3] ja niin edelleen & hellip
- Pass 2: n lopussa luettelon toiseksi suurin osa sijoitetaan luettelon toiseksi korkeimpaan hakemistoon.
- Pääsy n-1:
- X [0] ja X [1] verrataan ja vaihdetaan, jos X [0]> X [1]
- X [1] ja X [2] verrataan ja vaihdetaan, jos X [1]> X [2]
- X [2] ja X [3] verrataan ja vaihdetaan, jos X [2]> X [3] ja niin edelleen & hellip
- Tämän passin lopussa. Luettelon pienin osa sijoitetaan luettelon ensimmäiseen hakemistoon.
Esimerkki kuplalajittelusta luokassa C.
Taulukko: -5, 35, 2, 13, -15
Pass 1
- ( -5, 35 , 2, 13, -15) -> ( -5, 35 , 2, 13, -15), Tässä algoritmi vertaa kahta ensimmäistä elementtiä.
- (-5, 35, 2 , 13, -15) -> (-5, 2, 35 , 13, -15), Vaihda vuodesta 35> 2
- (-5, 2, 35, 13 , -15) -> (-5, 2, 13, 35 , -15), Vaihda vuodesta 35> 13
- (-5, 2, 13,35, -15) -> (-5, 2, 13,-15, 35), Vaihda vuodesta 35> -15
Viimeinen elementti on suurin elementti.
Pass 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), Vaihda vuodesta 13> -15
Toinen viimeinen elementti on toiseksi suurin elementti.
luo parametri taulukkoon
Pass 3
- ( -5, 2 , -15, 13, 35) -> ( -5, 2 , -15, 13, 35)
- (-5, 2, -15 , 13, 35) -> (-5, -15, 2 , 13, 35), Vaihda vuodesta 2> -15
Kolmas viimeinen elementti on kolmanneksi suurin elementti.
Pass 4
mikä on java
- ( -5, -15 , 2, 13, 35) -> ( -15, -5 , 2, 13, 35), Vaihda vuodesta -5> -15
Lopulta ensimmäinen on pienin & 2 nd on matriisin toiseksi pienin elementti. Joten tässä tapauksessa vaadittiin neljä läpäisyä 5 elementin matriisin lajittelemiseksi.
Ennen kuin tarkastelemme algoritmia yksityiskohtaisesti, tarkastellaan Bubble Sort in C -algoritmin ajan monimutkaisuutta.
Bubble Lajittelun monimutkaisuus
- Pahimman tapauksen monimutkaisuus:Päällä2)
- Parhaan tapauksen monimutkaisuus:Päällä2)
- Keskimääräinen tapauksen monimutkaisuus:Päällä)
Katsokaamme nyt algoritmia nopeasti, jotta voimme edetä eteenpäin kirjoittamalla Bubble-lajittelualgoritmin C: ksi.
Kuplan lajittelutoiminto
void bubbleSort (int-taulukko [], int n) {int i, j // Siirrä kuplalajittelussa (i = 0 iKuplalajittelu C-ohjelmassa
#include // Funktio elementtien vaihtamiseksi void swap (int * a, int * b) {int temp = * a * a = * b * b = temp} // kuplalajittelutoiminto void bubbleSort (int-taulukko [], int n ) {int i, j (i = 0 i.)
Nyt kun olet suorittanut yllä olevan C-ohjelman, olisit ymmärtänyt, miten Bubble Sort toimii ja miten se toteutetaan C-kielellä. Toivon, että tämä blogi on informatiivinen ja lisäarvoa sinulle.
Katso Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssi on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä. Kurssi on suunniteltu antamaan sinulle etumatka Java-ohjelmointiin ja kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia Java-kehyksiä, kuten Hibernate & Spring.
Onko sinulla kysymys meille? Mainitse se tämän Bubble Sort in C -artikkelin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.