Sortowanie bąbelkowe:
Zapoznaj się z poniższym dokumentem:
lub pobierz go: sortowanie bąbelkowe
Przykładowy kod programu w wersji 1:
#include <iostream> using namespace std; const int N=5; //ilość liczb w tablicy int liczby[N]={1,9,11,7,4}; //tablica liczb do posortowania void pokazDane(){ for(int i=0; i<N; i++) cout << liczby[i] << " "; } void babelek(){ for(int i=0; i<N-1; i++) if(liczby[i]>liczby[i+1]) swap(liczby[i], liczby[i+1]); } void sortBabelkowe(){ //N-1 razy wywlołujemy funkcję babelek() for(int i=0; i<N-1; i++) babelek(); } int main(){ cout << "\nliczby do posortowania:\n"; pokazDane(); sortBabelkowe(); cout << "\nliczby posortowane rosnaco:\n"; pokazDane(); return 0; }
Przykładowy kod programu w wersji 2:
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main(){ int start, stop, N; cout << "podaj poczatek zakresu losowania liczb: "; cin >> start; cout << "podaj koniec zakresu losowania liczb: "; cin >> stop; cout << "podaj ilosc liczbdo posortowania: "; cin >> N; int liczby[N]; //wprowadzanie losowych liczb z zakresu <start, stop> do tablicy for(int i = 0; i < N; i++) liczby[i]=rand()%(stop-start+1)+start; cout << "\nliczby do posortowania:\n"; for(int i = 0; i < N; i++) cout << liczby[i] << " "; //sortowanie rosnąco //Zewnętrzna pętla N-1 razy. W każdym obrocie jeden najcięższy bąbelek wypływa na wierzch (ustawia się na dobrym miejscu). for(int i=0; i<N-1; i++){ //Dla każdego i wykonujemy N-1-i operacji porównania !!! for(int j=0; j<N-1-i; j++) if(liczby[j]>liczby[j+1]) swap(liczby[j], liczby[j+1]); } //wyświetlanie wyniku cout << "\nliczby posortowane rosnaco:\n"; for(int i = 0; i < N; i++) cout << liczby[i] << " "; return 0; }
Dodatki
Bubble-sort with Hungarian ("Csángó") folk dance
Przykład z pdf-a krok po kroku
Wykorzystanie kodów
- Powyższy kod można wykorzystać w środowisku Dev C++ lub innym. Wystarczy utworzyć nowy projekt i wkleić ten kod zamiast istniejącego.
- Można też użyć kodu na jednej ze stron WWW z kompilatorami on-line, na przykład na stronie: www.cpp.sh