Ragazzi mi servirebbe una mano per capire in che modo passare le variabili alle funzioni in modo che esse vengano effettivamente modificate all'interno del corpo; ho provato con i puntatori, ma ho combinato solo casini. Grazie. Ecco il sorgente:
codice:#include <stdio.h> #include <stdlib.h> int partition (int Array[], int p, int r); void quicksort(int Array[], int p, int r); void swap (int *b,int *a); void main() { int k; int Array[] = {43,56,0,100,2}; int p = Array[0]; int r = Array[4]; quicksort (Array,p,r); for (k=0;k<5;k++) printf("%d\n\n", Array[k]); return; } int partition (int Array[], int p, int r) { int x, i, j; x = Array[p]; i = p-1; j = r+1; while (i < j) { while (Array[j--] > x); while (Array[i++]<x); if (i < j) { swap (&Array[j],&Array[i]); } } return(j); } void quicksort(int Array[], int p, int r) { int q; if (p < r) { q = partition (Array, p, r); quicksort (Array, p, r); quicksort (Array, q+1, r); } return; } void swap (int *b,int *a) { int temp; temp=*a; *a=*b; *b=temp; }

Rispondi quotando