Salve sto cercando di rimuovere gli elementi duplicati all'interno di un'array. l'algoritmo mi elimina gli elementi duplicati fino ad un certo punto dopo riottengo di nuovo i duplicati ad esempio : Se l'array è formato dai seguenti numeri : 0,0,1,1,2,2,3,4,5,6,6,7,7,10 quando mando in run il programma ottengo qeusto output 0,1,2,3,4,5,6,7,10,6,6,7,7,10
codice:
int[] a = { 0,0,1,1,2,2,3,4,5,6,6,7,7,10 };
int n = a.length;
int j = 0;
for(int i = 0 ; i < n ; i++)
{
boolean esiste = false;
for(int k = i+1; k < n; k++)
{
if(a[i] == a[k] && esiste == false)
{
esiste = true;
}
}
if(esiste == false)
{
a[j] = a[i];
j++;
}
}
Se faccio un ciclo per stampare gli elementi distnti del vettore ottengo l'output che ho scritto all'inizio :
codice:
//CICLO STAMPA
for(int w = 0; w<n ; w++)
{
System.out.println(a[w]);
}
se invece inserisco System.out.println(a[i]); all'interno di questo codice ho solo gli elementi distinti :
codice:
...
if(esiste == false)
{
a[j] = a[i];
j++;
System.out.println(a[i]);
}
}
...
però non è ciò che voglio.. voglio che il ciclo per la stampa mi stampi gli elementi unici..