|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
[JAVA] problema nella ricerca in un array di stringhe
Devo implementare un algoritmo per fare una ricerca dentro un array di stringhe.
Ho un array di stringhe arrayProv contente 8314 elementi. L'algoritmo confronta l'elemento i con gli elementi di un arraySingle, di uguale dimensione per assicurarsi che sia abbastanza grande da contenere tutti gli elementi da inserire e completamente vuuoto all'inizio della ricerca. Se arrayProv[i] non è contenuto in ArraySingle, allora i viene copiato nella prima posizione libera di arraySingle, incrementa il contatore ContaSingle e ripete per il successivo i+1, altrimenti non succede nulla. Spero di essere stato abbastanza chiaro nel presentare il problema. Ho implementato il seguente algoritmo, ma non capisco dove sbaglio, mi potete aiutare? /*arrayProv è già stato inizializzato precedentemente */ String[] arraySingle = new String[8314]; int contaSingle = 0; for(int i = 0; i < arrayProv.length; i++){ for(int j = 0; j <= i; j++ ){ if(!(arrayProv[i]).equals(arraySingle[j])){ arraySingle[j] = arrayProv[i]; contaSingle++; break; } }//end intern for }//end extern for System.out.println(contaSingle); }
__________________
God rides DUCATI! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
j contiene il contatore per ciclare sull'array degli elementi già trovati, non puoi fare:
arraySingle[j] = arrayProv[i]; altrimenti scrive sempre all'inizio di arraySingle devi tenere un contatore per vedere dove sei arrivato a riempire arraySingle e liì mettere il nuovo elemento unico |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2004
Città: Torino
Messaggi: 132
|
Se ho capito il problema,secondo me dovresti provare con una diversa impostazione di ricerca.
Prova con una ricerca più semplice: memorizza in una varibile temp la stringa da cercare e fai scorrere tutto l'array fino a quando non la trovi /* var_temp=arr[i] */ oltre ad essere più semplice da implementare dovrebbe farti risparmiare qualche ciclo macchina |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:51.



















