Sortowanie bąbelkowe (bubble sort)

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