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

Witaj nieznajomy

Login: Hasło:
Załóż nowe konto
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 | > | |>
Reklamy
Promocja z LINGO

Kupuj tanie książki, ebooki i czasopisma w sklepie firmowym ItHelpDesk - odwiedź nasz sklep i korzystaj ze strefy niskich cen!

Programuję w Delphi i C++ Builder - ebook Programuję w Delphi i C++ Builder - cz.2 - ebook Visual Basic 2005 Express i MySQL - ebook Sekrety języka C# (c-sharp) - ebook PHP dla zielonych - ebook Tajniki CSS - ebook PC World - e-wydanie