Guardando il quick sort ho provato a fare questo algoritmo ricorsivo di ordinamento
codice:void sort(int *a, int m, int n) { int i,j; int medio; medio=(a[m]+a[n])/2; i=m; j=n; do { while(a[i]<medio) { i++; } while(a[j]>medio) { j--; } if(i<j) { scambia(&a[i],&a[j]); i++; j--; } } while(i<j); if(m<j) { sort(a,m,j); } if(n>i) { sort(a,i,n); } } void scambia(int *a, int *b) { int temp; temp=*a; *a=*b; *b=temp; }