Temo di avere copiato male il codice del QSort a lezione, ho degli errori in questo codice ma non so perchč:
codice:public class QuickSort { public static void main(String [] args) { int [] a={5,4,6,7,8,0}; QSort(a,0,a.length-1); } public static void QSort(int [] A, int i, int r) { if(i>=r) return; else{ int n=partition(A,i,r); QSort(A,i,n); QSort(A,n+1,r); } } public static int partition(int [] A, int i, int r) { int a=i-1; int b=r+1; int p=A[r]; while(a<b) { a=a+1; while(A[a]<p) //errore....indexoutofbounds... { b=b-1; while(A[b]>p) { if(a<b) swap(A,a,b); } } } return p; } public static void swap(int [] A,int a, int b) { int tmp=A[a]; A[a]=A[b]; A[b]=tmp; } }

Rispondi quotando