Sortowanie bąbelkowe w C to prosty algorytm sortowania, który wielokrotnie porównuje sąsiednie elementy podanej tablicy i zamienia je, jeśli są w złej kolejności. Być może zastanawiasz się nad nazwą Sortowanie bąbelkowe. Poniżej przedstawiono wskaźniki omówione w tym artykule:
- Co to jest sortowanie bąbelkowe w C?
- Algorytm sortowania bąbelkowego
- Przykład sortowania bąbelkowego w C.
- Funkcja sortowania bąbelkowego
- Sortowanie bąbelkowe w programie C.
Co to jest sortowanie bąbelkowe w C?
Technika sortowania nazywana jest tak, ponieważ algorytm działa jak bąbelek, lżejsze elementy pojawiają się, a cięższe opadają. Algorytm sortowania bąbelkowego sortuje listę według przebiegów. Teraz, aby posortować listę zawierającą n elementów, sortowanie bąbelkowe wymaga n-1 przebiegów. Aby było jaśniej, przyjrzyjmy się temu krok po kroku.
Algorytm sortowania bąbelkowego
- Zdanie 1 :
- X [0] i X [1] są porównywane i zamieniane, jeśli X [0]> X [1]
- X [1] i X [2] są porównywane i zamieniane, jeśli X [1]> X [2]
- X [2] i X [3] są porównywane i zamieniane, jeśli X [2]> X [3] i tak dalej & hellip
- Pod koniec pierwszego przebiegu największy element listy jest umieszczany w najwyższym indeksie listy.
- Pass 2:
- X [0] i X [1] są porównywane i zamieniane, jeśli X [0]> X [1]
- X [1] i X [2] są porównywane i zamieniane, jeśli X [1]> X [2]
- X [2] i X [3] są porównywane i zamieniane, jeśli X [2]> X [3] i tak dalej & hellip
- Pod koniec 2. poziomu drugi co do wielkości element listy jest umieszczany na drugim co do wielkości indeksie listy.
- Podanie n-1:
- X [0] i X [1] są porównywane i zamieniane, jeśli X [0]> X [1]
- X [1] i X [2] są porównywane i zamieniane, jeśli X [1]> X [2]
- X [2] i X [3] są porównywane i zamieniane, jeśli X [2]> X [3] i tak dalej & hellip
- Pod koniec tej przepustki. Najmniejszy element listy jest umieszczany na pierwszym indeksie listy.
Przykład sortowania bąbelkowego w C.
Szyk: -5, 35, 2, 13, -15
Zdanie 1
- ( -5, 35 , 2, 13, -15) -> ( -5, 35 , 2, 13, -15), tutaj algorytm porównuje pierwsze dwa elementy.
- (-5, 35, 2 , 13, -15) -> (-5, 2, 35 , 13, -15), Zamień od 35> 2
- (-5, 2, 35, 13 , -15) -> (-5, 2, 13, 35 , -15), Zamień od 35> 13
- (-5, 2, 13,35, -15) -> (-5, 2, 13,-15, 35), Zamień od 35> -15
Ostatni element to największy element.
Zdanie 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), Zamień od 13> -15
Przedostatni element jest drugim co do wielkości elementem.
do czego służy nagios
Zdanie 3
- ( -5, 2 , -15, 13, 35) -> ( -5, 2 , -15, 13, 35)
- (-5, 2, -15 , 13, 35) -> (-5, -15, 2 , 13, 35), Zamień od 2> -15
Trzeci ostatni element jest trzecim co do wielkości elementem.
Zdanie 4
- ( -5, -15 2, 13, 35) -> ( -15, -5 2, 13, 35), Zamień od -5> -15
Ostatecznie pierwsza jest najmniejsza i 2 nd to drugi najmniejszy element w tablicy. Tak więc w tym przypadku do sortowania tablicy składającej się z 5 elementów potrzebne były cztery przebiegi.
Zanim szczegółowo przyjrzymy się algorytmowi, przyjrzyjmy się złożoności czasowej algorytmu sortowania bąbelkowego w C.
Złożoność sortowania bąbelkowego
- Najgorsza złożoność przypadku:Na2)
- Najlepsza złożoność przypadku:Na2)
- Średnia złożoność przypadku:Na)
Spójrzmy teraz szybko na algorytm, abyśmy posuwając się naprzód mogli napisać algorytm sortowania bąbelkowego w C.
Funkcja sortowania bąbelkowego
void bubbleSort (int array [], int n) {int i, j // Przekaż w sortowaniu bąbelkowym for (i = 0 iSortowanie bąbelkowe w programie C.
#include // Funkcja do zamiany elementów void swap (int * a, int * b) {int temp = * a * a = * b * b = temp} // funkcja sortowania bąbelkowego void bubbleSort (int array [], int n ) {int i, j dla (i = 0 i
Teraz po wykonaniu powyższego programu w C zrozumiałbyś, jak działa Bubble Sort i jak zaimplementować go w języku C. Mam nadzieję, że ten blog jest dla Ciebie pouczający i stanowi wartość dodaną.
jaki jest najlepszy java ideSprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja J2EE i SOA firmy Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego artykułu Bubble Sort in C, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.