Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 ITPS - Secondo Anno
 Algoritmi e Strutture Dati + Lab.
 quick sort attività 3 di laboratorio

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
snoopy88 Inserito il - 28/02/2012 : 09:47:14
Ciao a tutti ragazzi devo implementare l'algoritmo di quick sort dell'attività 3 di laboratorio avendo come base di partenza il metodo partition già implementato e il metodo quicksort da completare. Ho implementato il metodo quicksort ma Il problema è che non ho capito come passare a partition il parametro numConfronti xkè nel metodo quicksort è dichiarato come un semplice int mentre nel metodo partition è dichiarato come un array !
private static  int partition(int A[], int inf, int sup, int []numConfronti){
		int i,j;
		numConfronti[0]=0;
		i=inf; 
		j=sup; 
		int	med=(inf+sup)/2;
		int x=A[med];
		int temp=A[inf];
		A[inf]=A[med];
		A[med]=temp;
		while (true) 
		{
			numConfronti[0]++;
			while(i<=sup && A[i]<=x){ i++; 
				numConfronti[0]++;
			}
			numConfronti[0]++;
			while(A[j]>x) {j--;
				numConfronti[0]++;
			}
			
			if(i<j) { 
				temp=A[i];
				A[i]=A[j];
				A[j]=temp;
			}
			else break;
		}
		temp=A[inf];
		A[inf]=A[j];
		A[j]=temp;
		return j;

	}
	
	
	/*
	 * Algoritmo quicksort per l'ordinamento di un array di interi A
	 * usando come relazione d'ordine totale "<="
	 * @param A
	 */
	static int quicksort(int A[], int inf, int sup){
		int numConfronti=0;
		
		//To be implemented as exercise
		
		return numConfronti;
	}
	

	/**
	 * @param args
	 */



QUESTO è IL METODO QUICKSORT CHE STAVO IMPLEMENTANDO.

static int quicksort(int A[], int inf, int sup){
		int numConfronti;
		if(sup-inf>=1){
			int pos=partition(A,inf,sup,[b]????);
			if((pos-inf) < pos-pos+1){
				quicksort(A,inf,pos-1);
				quicksort(A,pos+1,sup);
			
			}
			else{
				quicksort(A,pos+1,sup);
				quicksort(A,inf,pos-1);
			}
				
		}
		
		
		return numConfronti;
	}
8   U L T I M E    R I S P O S T E    (in alto le più recenti)
snoopy88 Inserito il - 28/02/2012 : 12:30:27
scusami ho letto male io! =) grazie mille!
fmarzella Inserito il - 28/02/2012 : 12:29:01
A partition passo numConfronti2 che è un array di int.
"pos=partition(A,inf,sup,numConfronti2);"
snoopy88 Inserito il - 28/02/2012 : 12:21:19
si questo l'ho capito ma come fai a passare al metodo partition numConfronti che in quicksort è dichiarata come una int semplice mentre partition prende numConfroni[] che è un array di interi
fmarzella Inserito il - 28/02/2012 : 12:06:14
Ho inizializzato a 0 due variabili di tipo int: numConfronti e pos.
snoopy88 Inserito il - 28/02/2012 : 12:00:58
No questa : int numConfronti=0, pos=0;
fmarzella Inserito il - 28/02/2012 : 11:56:04
Questo? "int numConfronti2[] = new int[1];"
Non ricordo con precisione, l'ho fatto un bel po' di tempo fa, ma è una soluzione per il passaggio di parametri per indirizzo se non sbaglio.
snoopy88 Inserito il - 28/02/2012 : 11:46:35
grazie fmarzella Puoi spiegarmi la seconda riga ??
fmarzella Inserito il - 28/02/2012 : 11:32:13
// Algoritmo QuickSort
static int quickSort(int A[], int inf, int sup){
int numConfronti=0, pos=0;
int numConfronti2[] = new int[1];
if(sup-inf>=1){
pos=partition(A,inf,sup,numConfronti2);
if((pos-inf)<(sup-(pos+1))){
numConfronti+=quickSort(A,inf,pos-1);
numConfronti+=quickSort(A,pos+1,sup);
}
else
{
numConfronti+=quickSort(A,pos+1,sup);
numConfronti+=quickSort(A,inf,pos-1);
}
}
numConfronti+=numConfronti2[0];
return numConfronti;
}

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,04 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000