Bubble sort u C je jednostavan algoritam za sortiranje koji više puta uspoređuje susjedne elemente datog niza i zamjenjuje ih ako su u pogrešnom redoslijedu. Možda se pitate o imenu Razvrstavanje mjehurića. Slijede upute u ovom članku:
- Što je sortiranje mjehurića u C?
- Algoritam sortiranja mjehurića
- Primjer sortiranja mjehurića u C
- Funkcija sortiranja mjehurića
- Razvrstavanje mjehurića u programu C
Što je sortiranje mjehurića u C?
Tehnika sortiranja naziva se tako jer algoritam djeluje poput mjehurića, pojavljuju se lakši elementi, a teži se smiruju. Algoritam sortiranja mjehurića sortira popis u prolazima. Sada, za sortiranje popisa s n elemenata Bubble sort zahtijeva n-1 prolaza. Da bi bilo jasnije, shvatimo ovo korak po korak.
Algoritam sortiranja mjehurića
- Prolaz 1 :
- X [0] i X [1] se uspoređuju i zamjenjuju ako je X [0]> X [1]
- X [1] i X [2] se uspoređuju i zamjenjuju ako je X [1]> X [2]
- X [2] i X [3] se uspoređuju i zamjenjuju ako je X [2]> X [3] i tako dalje & hellip
- Na kraju prolaza 1, najveći element popisa stavlja se na najviši indeks popisa.
- Prolazak 2:
- X [0] i X [1] se uspoređuju i zamjenjuju ako je X [0]> X [1]
- X [1] i X [2] se uspoređuju i zamjenjuju ako je X [1]> X [2]
- X [2] i X [3] se uspoređuju i zamjenjuju ako je X [2]> X [3] i tako dalje & hellip
- Na kraju Pass 2, drugi najveći element popisa nalazi se na drugom najvišem indeksu popisa.
- Proći n-1:
- X [0] i X [1] se uspoređuju i zamjenjuju ako je X [0]> X [1]
- X [1] i X [2] se uspoređuju i zamjenjuju ako je X [1]> X [2]
- X [2] i X [3] se uspoređuju i zamjenjuju ako je X [2]> X [3] i tako dalje & hellip
- Na kraju ovog prolaza. Najmanji element popisa nalazi se na prvom indeksu popisa.
Primjer sortiranja mjehurića u C
Niz: -5, 35, 2, 13, -15
Prolaz 1
- ( -5, 35 , 2, 13, -15) -> ( -5, 35 , 2, 13, -15), Ovdje algoritam uspoređuje prva dva elementa.
- (-5, 35, 2 , 13, -15) -> (-5, 2, 35 , 13, -15), zamijeni od 35> 2
- (-5, 2, 35, 13 , -15) -> (-5, 2, 13, 35 , -15), zamijeni od 35> 13
- (-5, 2, 13,35, -15) -> (-5, 2, 13,-15, 35), Zamijeni od 35> -15
Posljednji element je najveći element.
Prolaz 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), zamijeni od 13> -15
Drugi zadnji element je drugi najveći element.
rubin na šinama tržište rada
Prolaz 3
- ( -5,2 , -15, 13, 35) -> ( -5,2 , -15, 13, 35)
- (-5, 2, -15 , 13, 35) -> (-5, -15, 2 , 13, 35), zamijeni od 2> -15
Treći posljednji element je treći najveći element.
Prolaz 4
- ( -5, -15 , 2, 13, 35) -> ( -15, -5 , 2, 13, 35), zamijeni od -5> -15
Na kraju je prvi najmanji & 2 nd je drugi najmanji element u nizu. Dakle, u ovom su slučaju bila potrebna četiri prolaza za sortiranje niza od 5 elemenata.
Prije nego što detaljno pogledamo algoritam, pogledajmo vremensku složenost algoritma Bubble Sort in C.
Složenost sortiranja mjehurića
- Najgora složenost slučaja:Na2)
- Složenost najboljeg slučaja:Na2)
- Prosječna složenost slučaja:Na)
Sada ćemo brzo pogledati algoritam, tako da krećemo naprijed i možemo napisati Bubble sort algoritam u C.
Funkcija sortiranja mjehurića
void bubbleSort (int array [], int n) {int i, j // Proslijedi u Bubble Sort for (i = 0 iRazvrstavanje mjehurića u programu C
#include // Funkcija zamjene elemenata void swap (int * a, int * b) {int temp = * a * a = * b * b = temp} // funkcija razvrstavanja oblačića void bubbleSort (int niz [], int n ) {int i, j za (i = 0 i
Nakon izvršavanja gornjeg programa C, shvatili biste kako funkcionira Bubble Sort i kako ga implementirati na C jezik. Nadam se da je ovaj blog informativan i da vam dodaje dodanu vrijednost.
Pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Edurekin tečaj za obuku i certificiranje Java J2EE i SOA dizajniran je za studente i profesionalce koji žele biti programer Java. Tečaj je dizajniran da vam pruži početnu prednost u Java programiranju i osposobi vas za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.
razlika između jquery i javascriptaImate pitanje za nas? Molimo vas spomenite to u odjeljku za komentare ovog članka Bubble Sort in C i javit ćemo vam se što je prije moguće.