Título: Evitar que los elementos se repitan en un array Publicado por: Npc054 en 22 Noviembre 2017, 01:52 am Bueno tengo dos preguntas la primera seria sobre como hacer que no se repitan los elementos en estos "conjuntos" y seria sobre como eliminar elementos repetidos. Se que tengo que hacer una comparación entre los elementos de uno y otro. Pero ya lo intente y no se como implementarlo. Podrían ayudarme?.
int k=1; for(int j=0;j<5;j++){ a[j]=A[j]; for(int j=0;j<10;j++){ if (A[j]==B){ k=0; } } if(k==1) { a[j]=B; i++; } k==1; } } for(int j=0;j<10;j++){ System.out.print(a[j]+" "); } Título: Re: Evitar que los elementos se repitan en un array Publicado por: Serapis en 23 Noviembre 2017, 03:44 am Una modificación del agoritmo de ordenamiento counting, hace lo que quieres...
Ese algoritmo tiene serias limitaciones, porlo que no vale para todos los arrays. Los límites son: - Solo números. - Deben ser enteros (no valen decimales, porque los índices de un array siempre son vaores enteros). - Valores entre el mínimo y el máximo pequeños (porque precisa un array adicional en memoria de tamaño (valorMaximo-valorMinimo + 1) ). Si tu array se ciñe a esos límites, puedes usarlo, no existe ninguna implementación más rápida que esta (pero con esas limitaciones). Código: array = funcion OrdenarYEliminarRepes( array Ar() ) et voilá... ya tienes el array ordenado y con solo una copia de cada valor (sin duplicados). Recuerda que solo vale si el array se atiene a los límitaciones indicadas.... |