raga ho un eccezione "Exception in thread "main" java.lang.StackOverflowError" nell'esecuzione di questo programma..Credo sia dovuto al fatto ke l'array su cui ordina va da 10000 a 10000000 di elementi e non alla ricorsione infinita..potreste darmi una mano?
in alternativa potreste darmi un algoritmo funzionante? :Pcodice:void q_sort(int a[], int left, int right) { int pivot, l_hold, r_hold; l_hold = left; r_hold = right; pivot = a[left]; while (left < right) { while ((a[right] >= pivot) && (left < right)) right--; if (left != right) { a[left] = a[right]; left++; } while ((a[left] <= pivot) && (left < right)) left++; if (left != right) { a[right] = a[left]; right--; } } a[left] = pivot; pivot = left; left = l_hold; right = r_hold; if (left < pivot) q_sort(a, left, pivot-1); if (right > pivot) q_sort(a, pivot+1, right); }

Rispondi quotando