PRZEZ WYBIERANIE
void selectionSort(int tablica[], int rozmiar)
{
int i,j,m;
for(i=0; i<rozmiar-1 ;++i) //od pierwszego elementu do przedostatniego...
{
m = i; //i-ty element przyjmujemy jako najmniejszy
for(j=i+1; j<rozmiar ;++j) //od następnego do ostaniego elementu
if(tablica[j] < tablica[m]) m=j; //jeżeli j-ty jest mniejszy to ...
j = tablica[i]; //ustawiamy element najmniejszy na i-tej pozycji
tablica[i] = tablica[m];
tablica[m] = j;
}
}\
PRZEZ WSTAWIANIE
void insertionSort(int tablica[], int rozmiar)
{
for(int i=1; i<rozmiar ;++i) //od drugiego elementu do ostatniego
{
int tmp = tablica[i]; //zapamietaj wartość elementu
int j=i-1; //indeks poprzednika
while((j>=0) && (tablica[j]>tmp)) //dopóki istnieje poprzednik i jego wartość jest większa
{
tablica[j+1] = tablica[j]; //przesuń poprzedni element w prawo
--j;
}
tablica[j+1] = tmp; //wstaw i-ty element w odpowiednim miejscu
}
}
BĄBELKOWE
void bubbleSort(int tablica[], int rozmiar)
{
for(int i=1; i<rozmiar ;++i)
for(int j=rozmiar-1; j>=i ;--j)
if(tablica[j] < tablica[j-1])
{
int tmp = tablica[j];
tablica[j]=tablica[j-1];
tablica[j-1]=tmp;
}
}