Il C mette a disposizione la funzione qsort con la quale è possibile ordinare praticamente di tutto con delle buone prestazioni. Nel caso di un vettore potresti fare così:
#include <stdio.h>
#include <stdlib.h>
#define N 5
typedef int (*ptr) (const void *, const void *);
int cmp(int *a, int *b)
{
return (*a-*b);
}
int main()
{
int vett[N]={30,578,-34,28,1};
int i;
for(i=0;i<N;i++)
printf("%d\n",vett[i]);
puts("Dopo l'ordinamento:");
qsort(vett,N,sizeof(int),(ptr)cmp);
for(i=0;i<N;i++)
printf("%d\n",vett[i]);
return 0;
}