elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Evitar que los elementos se repitan en un array
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Evitar que los elementos se repitan en un array  (Leído 2,945 veces)
Npc054

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Evitar que los elementos se repitan en un array
« 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]+" ");
                }


En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.351


Ver Perfil
Re: Evitar que los elementos se repitan en un array
« Respuesta #1 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() )
    entero k, min, max, n
    array temp(), salida()
 
    // recorrer el array para buscar el valor mayor y menor del array
    min = ar(0)
    max = min
    bucle para k desde 1 a ar.count-1
        si (ar(k) < min) luego
            min = ar(k)
        oSi (ar(k) > max) luego
            max = ar(k)
        fin si
    fin bucle

    // OJO: si min es pongamos 20 y máx 100 millones se creará un array de 100 millones-20, aunque tu array de entrada solo tenga 40 valores...
    redimensionar temp(desde 0 hasta max-min)

    // recorrer el bucle otra vez para saber quñe valores aparecen y consignarlos en el array temp.
    bucle para k desde 0 hasta ar.count-1
        si (temp( ar(k)+min ) = 0) luego
            n +=1
            temp( ar(k)+min ) = 1
        fin si
    fin bucle

    redimensionar salida (0 a n-1)
    n = 0
    // recorrer el array temp, para consignar los valores presentes a la salida.
    bucle para k desde 0 hasta max-min
        si (temp( ar(k)+min ) = 1) luego
            salida(n) = temp( ar(k)+min )
            n +=1
        fin si
    fin bucle

    devolver salida
fin funcion

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....


« Última modificación: 23 Noviembre 2017, 03:47 am por NEBIRE » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Puntero a elementos de array
Programación C/C++
Riki_89D 2 2,560 Último mensaje 26 Mayo 2010, 21:32 pm
por 08l00D
[Ruby] Sumar elementos de un array
Scripting
ka0s 2 8,520 Último mensaje 25 Noviembre 2013, 20:32 pm
por ka0s
Eliminar Elementos repetidos en un array
Programación C/C++
maikelowen 6 7,267 Último mensaje 8 Enero 2015, 10:21 am
por Orubatosu
Array elementos repetidos
Programación C/C++
LGG 1 2,637 Último mensaje 5 Mayo 2015, 17:32 pm
por eferion
Eliminar elementos repetidos en un Array
.NET (C#, VB.NET, ASP)
okik 2 9,402 Último mensaje 23 Junio 2015, 03:16 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines