niedziela, 16 listopada 2008

Sortowanie przez wybieranie - C++

W poniższych przypadkach sortujemy w kolejności rosnącej. Tak jak poprzednio przekazujemy do funkcji 2 informacje:
*tab - wskaźnik na tablicę którą chcemy posortować
n - liczba elementów tablicy
void sort(int *tab, int n)
{
for(int i=0; i < n; i++) //Przeglądamy tablicę n razy
{
int min=i; //Element który będzie "pamiętał" numer
// najmniejszego elementu w tablicy

for(int j=i; j < n; j++) //Pętla porównująca
{
if(tab[min]>tab[j]) //Sprawdza czy el. o nr min jest
// mniejszy od el. o nr j

{
min = j; // Zapisuje numer najmniejszego el.
}
}
swap(tab[i], tab[min]); //Zamienia el. obecnie sprawdzany
// z el. o nr min.

}
}