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 - Primo Anno
 Laboratorio di informatica
 [GIOCHETTO] Trova il BUG nascosto!!

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
Chloe Inserito il - 24/04/2010 : 10:40:16
Chi lo trova vince.... vince... la soddisfazione di esserci riuscito

public void sort() {
		quicksort(strings, 0, strings.length - 1);
	}
	
	/* partiziona l'array */
	private int partition(String[] array, int left, int right,
			                                     int pivotIndex) {
		String pivotValue = array[pivotIndex];
		swap(pivotIndex, right); // Pone pivot alla fine
		int storeIndex = left;
		for (int i = left; i < right; i++) {
			if (array[i].compareToIgnoreCase(pivotValue) < 0) {
				swap(i, storeIndex);
				storeIndex++;
			}
		}
		swap(storeIndex, right); // Pone pivot nella sua posizione finale
		return storeIndex; 
	}
	
	/* effettua l'ordinamento quicksort */
	private void quicksort(String[] array, int left, int right) {
		final int TWO = 2;
		if (right > left) {
			int pivotIndex = left + (right - left) / TWO;
			int pivotNewIndex = partition(array, left, right, pivotIndex);
			quicksort(array, left, pivotNewIndex - 1);
			quicksort(array, pivotNewIndex + 1, right);
		}
	}


Aggiungo anche il codice dello swap anche se non è necessario ai fini del gioco:

protected void swap(int i, int j) {
    	String strTemp = strings[i];
    	strings[i] = strings[j];
    	strings[j] = strTemp;
    	
    	int indTemp = invertedIndexes[i];
    	invertedIndexes[i] = invertedIndexes[j];
    	invertedIndexes[j] = indTemp;
    	
    	directIndexes[invertedIndexes[i]] = i;
    	directIndexes[invertedIndexes[j]] = j;
    }


Good Luck
1   U L T I M E    R I S P O S T E    (in alto le più recenti)
Garet Jax Inserito il - 24/04/2010 : 12:23:39
Come l'hai scritto tu funziona, tranne per un caso che però neanche il professore riesce a trovare. Se proprio vuoi migliorarlo togli il passaggio dell'array come parametro ed agisci direttamente su strings.

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

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