In realtà secondo me non è nemmeno difficile fare un ordinamento ricorsivo,basta mettere all' angolo l' elemento più piccolo e richiamare la funzione finchè non hai messo all' angolo tutti gli elementi,creando una specie di recursive sort,eccone una:
codice:void *sort(int *pointer,int num) { int i; for(i=1;i<num;i++) { if(pointer[0]>pointer[i]) swap(pointer,&pointer[i]); } if(i!=2) // In questo caso sono rimasti solo due elementi,non si prosegue sort(&pointer[1],num-1); }