• Kurs C++ - strona główna
  • Kurs C++ - kontakt z autorem
  • Kurs C++ - mapa witryny
  • Kurs C++ - prawa autorskie
  • Kurs C++ - Kanał RSS
Informatyka krok po kroku
Użytkownik niezalogowany

Witaj nieznajomy

Reklamy
Randki

Sortowanie bąbelkowe (bubble sort)

utworzono: 2004-09-05 zmodyfikowano: 2004-09-05 Autor: mgr inż. Marcin Nabiałek

Wprowadzenie

Sortowanie bąbelkowe (ang. Bubble sort) często bywa uważane za najprostszy sposób sortowania. Jest ono pierwszym algorytmem sortowania jaki jest przedstawiany początkującym programistom czy informatykom.

Jak się za pewne już domyślasz, ja wcale tak nie uważam. Nie dość, że sortowanie bąbelkowe jest trudniejsze do zrozumienia od sortowania przez wybór i sortowania przez wstawianie, jest też moim zdaniem trochę trudniejsze do efektywnego zaimplementowania.

Mimo wszystko warto poznać ten algorytm, zwłaszcza dlatego, że tak często można go napotkać w literaturze.

Sprecyzujmy warunki sortowania:

Dane: n elementów oznaczonych x[1], x[2], x[3], ..., x[n] oraz operator porównania tych elementów, za pomocą którego możemy stwierdzić który z dwóch porównywanych elementów jest mniejszy, a który większy.

Wynik: n elementów uporządkowanych w taki sposób, że pierwszy element jest najmniejszy w sensie operatora porównania elementów, a ostatni jest elementem największym w sensie tego samego operatora.

Algorytm w postaci listy kroków

  1. Zmiennej koniec przypisz n
  2. Zmiennej i przypisz 1, zmiennej k przypisz 0
  3. Dopóki i<koniec wykonuj:
    • Jeśli x[i]>x[i+1], to zamień te elementy miejscami oraz zmiennej k przypisz wartość zmiennej i
    • Zwiększ zmienną i o 1
  4. Jeśli k>1, to zmiennej koniec przypisz k i wróć do kroku 2, natomiast jeśli k<=1, to zakończ algorytm

dodajdo

1 | 2 | 3 | 4 | > | |>

Użytkowanie Serwisu oznacza zgodę na wykorzystywanie plików cookie. Szczegółowe informacje