Najprostszy algorytm sortowania.W tym algorytmie sprawdza się wszystkie elementy tablicy po kolei, jeśli natrafimy na 2 elementy, z których większy poprzedza mniejszy, to to są one zamieniane miejscami. W tym momencie zaczynamy przeszukiwać tablicę od nowa. Tak długo powtarzamy powyższe czynności, aż nie będzie trzeba zamienić miejscami żadnych elementów.
Oto przykład dla ciągu liczb (3,1,2,0):
Plus tego algorytmu jest taki, że nie sortuje już wcześniej posortowanej tablicy. Najdłużej będzie sortowana tablica posortowana nierosnąco. Złożonośc tego algorytmu to n^2. Przykładowa implementacja w c:
void Babelkowe(int a[])
{
int dalej=1;
while (done)//sortuj do momemtu az wszystko posortowane
{
done=0;
for (int i=0;i<max_rozmiar-1 ;i++ )
{
if (a[i]>a[i+1]) )
{
int tmp;
tmp=a[i];
a[i]=a[i+1];
a[i+1]=tmp;
done=1;
}
}
}
}
Cała implementacja do ściągnięcia
![]() |
|
![]() |
![]() |
|||||||||||||||||||||||||||
![]() |
![]() |
|||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
![]() |
![]() |