public class bubble_sort {
private static Scanner teclado;
public static void main(String args []) {
int vet1[] = new int [10];
int vet2[] = new int [10];
int n, i, aux,troca;
teclado = new Scanner(System.in);
//Carregando os números do vetor:
for(i=0;i<=9;i++) {
System.out.print("Digite "+(i+1)+"º número do vetor:");
vet1[i]= teclado.nextInt();
}
n = 1;
troca = 1;
while (n <= 10 && troca == 1) {
troca = 0;
for(i=0;i<=8;i++) {
if(vet1[i] > vet1[i+1]) {
troca = 1;
aux = vet1[i];
vet1[i] = vet1[i+1];
vet1[i+1] = aux;
}
}
n = n + 1;
}
for(i=0;i<=9;i++) {
System.out.print("["+vet1[i]+"],");
}
}
identifica os itens duplicados no vetor passado por parâmetro;
cria um novo vetor contendo somente os itens não duplicados
retorna esse vetor sem duplicatas.
Exemplo:
private int[] removerDuplicados(int[] vetor) {
int tamanho = vetor.length;
int duplicados = 0; // pra contar os valores duplicados
boolean[] estaDuplicado = new boolean[tamanho]; // pra identificar os valores duplicados
for (int atual = 0; atual < tamanho; atual++) {
for (int proximo = atual + 1; proximo < tamanho; proximo++) {
if (vetor[atual] == vetor[proximo]) {
estaDuplicado[proximo] = true;
duplicados++;
}
}
}
int[] resultado = new int[tamanho - duplicados]; // o novo array sem as duplicatas
int posicao = 0;
for (int atual = 0; atual < tamanho; atual++) {
if (estaDuplicado[atual]) {
continue; // ignora o valor duplicado e continua o laço
}
resultado[posicao] = vetor[atual];
posicao++;
}
return resultado;
}