Código de Java - Rellenar un array de valores sin repetirse

Imágen de perfil
Val: 204
Bronce
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Rellenar un array de valores sin repetirsegráfica de visualizaciones


Java

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 21 de Agosto del 2019 por info
788 visualizaciones desde el 21 de Agosto del 2019
Este simple código muestra como rellenar un vector con números aleatorios sin repetirse.

Versión 1
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 21 de Agosto del 2019gráfica de visualizaciones de la versión: Versión 1
789 visualizaciones desde el 21 de Agosto del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.util.*;
 
public class vector {
    public static void main(String [] args)
    {
        int array_size=5;
        int arreglo[] = new int[array_size];
        int contador=0;
 
        //La clase random para generar los numeros aleatorios
        Random random=new Random();
 
        while(contador<array_size)
        {
            int temp = random.nextInt(10)+1;
            int i;
 
            // comprovamos si ese valor ya existe en el array
            for (i=0;i<array_size-1;i++) {
                if (temp==arreglo[i]) {
                    break;
                }
            }
            // si no se encuentra, lo añadimos al array
            if (temp!=arreglo[i]) {
                arreglo[contador++]=temp;
            }
        }
 
        // mostramos el resultado
        for(int i=0;i<array_size;i++) {
            System.out.println(arreglo[i]);
        }
    }
}



Comentarios sobre la versión: Versión 1 (1)

Imágen de perfil
24 de Agosto del 2019
estrellaestrellaestrellaestrellaestrella
Parece que funciona correctamente.

Lamentablemente este codigo se va a demorar mas mientras mas grande sea el arreglo, puesto que van a haber mas colisiones que lo hagan demorar (se va a perder mas tiempo comprobando que el elemento no esta, a medida que el arreglo crece se hace mas probable que las siguientes elecciones ya esten presentes en el arreglo).

Podrias incorporar logica adicional (y memoria adicional) que permita crear los numeros sin repetirse (por construccion) en vez de hacerlos aleatorios como esta ahora y que se podrian repetir (y tener que comprobar si es asi).
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5488