JEDNOSTAVAN ALGORITAM SORTIRANJA
Algoritam za sortiranje niza definiran je slijedećim
koracima,
1.
Postavi i u 0
2.
Postavi j u i + 1
3.
Ako je a[i] > a[j], zamijeni im vrijednosti
4.
Postavi j u j + 1. Ako je j < n goto korak 3
5.
Postavi i to i + 1. Ako je i < n - 1 goto korak 2
6.
a je sada sortiran u rastućem slijedu.
n je broj elemenata niza.
VJEŽBA C18
Napiši ovaj algoritam kao funkciju u C-u, koja
prima niz i njegovu veličinu, a vraća sortirani niz u rastućem slijedu
tako da se može ispisati preko pozvanog modula. Niz bi se trebao sastojati
od 10 elemenata.
#include <stdio.h>
void sort( [ ], int );
void sort( niz[ ], int brojelem )
{
int i, j, temp;
i = 0;
while( i < (brojelem - 1) ) {
j = i + 1;
while( j < brojelem ) {
if( a[i] > a[j] ) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
j++;
}
i++;
}
}
main()
{
int brojevi[ ] = { 10, 9, 8, 23, 19, 11, 2, 7, 1, 13, 12 };
int loop;
printf("Niz prije sortiranja \n");
for( loop = 0; loop < 11; loop++ )
printf(" %d ", brojevi[loop] );
sort( brojevi, 11 );
printf("Niz nakon sortiranja \n");
for( loop = 0; loop < 11; loop++ )
printf(" %d ", brojevi[loop] );
}