Gente encontrei esse algoritmo para eliminar os números iguais de um vetor de inteiros, a minha dúvida é quanto a essa parte:
int q = 0;
vetN[q] = vetN[0];
for(int i = 0; i < vetN.length; i++){
if (vetN[q] != vetN[i]){
q++;
vetN[q] = vetN[i];
}
}
Não entendi como ela funciona, alguém poderia me explicar?
Código completo:
Scanner scan = new Scanner(System.in);
int vetN[]= new int[5];
for (int i = 0; i < vetN.length; i++ ){
System.out.print("Digite o "+(i+1)+"º elemento: ");
vetN[i] = scan.nextInt();
}
System.out.println();
System.out.print("Original: ");
for (int k = 0; k < vetN.length; k++) {
System.out.print(vetN[k]);
System.out.print(",");
}
//Ordenar
for(int i = 0; i < vetN.length; i++){
for(int j = i; j < vetN.length; j++){
if(vetN[i]>vetN[j]){
int aux=vetN[i];
vetN[i]=vetN[j];
vetN[j]=aux;
}
}
}
// Retirando os iguais
int q = 0;
vetN[q] = vetN[0];
for(int i = 0; i < vetN.length; i++){
if (vetN[q] != vetN[i]){
q++;
vetN[q] = vetN[i];
}
}
System.out.println();
System.out.print ("Iguais varridos: ");
for (int i = 0; i <= q; i++ ){
System.out.print(vetN[i]);
System.out.print(",");
}