Jak zaimplementować sortowanie bąbelkowe w języku C z kodem



W tym artykule znajdziesz szczegółową i wszechstronną wiedzę na temat sortowania bąbelkowego w języku C wraz z algorytmem i działającym kodem.

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?

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.





Bubble-Sort-in-C

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 i

Sortowanie 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

Sorted-Array

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 ide

Sprawdź 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.