Programacion ¿lista numeros?

Hola, me gustaria crear una lista de numeros desordenada, pero no se me ocurre una mnera rapida... solo se me ocurre ir creando numeros aleatorios y si no estan insertarlos...

la lista seria de 100 elementos, si a alguien se le ocurre o sabe alguna forma mas rapida, se lo agradeceria.

GRACIAS ¡¡¡
Neopiro escribió:Hola, me gustaria crear una lista de numeros desordenada, pero no se me ocurre una mnera rapida... solo se me ocurre ir creando numeros aleatorios y si no estan insertarlos...

la lista seria de 100 elementos, si a alguien se le ocurre o sabe alguna forma mas rapida, se lo agradeceria.

GRACIAS ¡¡¡


Si el rango de el numeros es de 1 a 100, creas una lista ordenada de 1 a 100 y la desordenas con swaps aleatorios.

Si el rango es diferente (por ejemplo de 1 a 3000), creas una lista de 30 a 3000 de 30 en 30, y despues a cada numero de la lista le restas un numero aleatorio (de 0 a 29), finalmente desordenas la lista con swaps aleatorios.

Seguro que existe alguna manera mas facil, pero hasta aqui he llegado yo xD (aunque no sera tan aleatorio, ya que los numeros estaran repartidos entre el rango de una forma uniforme)

Sino lo puedes hacer como tu, pero ir poniendolos ordenados y desordenarlos al final, por eso de no tener que comprarar uno contra todos.
buenas:

lo primero: pa que lenguaje de progamacion
y seundo:pa ke es si se puede saber ¬_¬

si me lo dices alomejor te podria echar una mano ya ke programar en java es mi especialidad XD

saludos
Neopiro escribió:Hola, me gustaria crear una lista de numeros desordenada, pero no se me ocurre una mnera rapida... solo se me ocurre ir creando numeros aleatorios y si no estan insertarlos...

la lista seria de 100 elementos, si a alguien se le ocurre o sabe alguna forma mas rapida, se lo agradeceria.

GRACIAS ¡¡¡


Yo lo haría como tu dices. Es decir, tener dos matrices e ir sacando números aleatorios. Compruebas con la segunda matriz a ver si está repetido y si no lo metes en la matriz original. Creo que es la forma más rápida y sencilla XD
si, crreia que costaria mas tiempo, pero es inmediato, lo he hecho como yo decia y funciona muy rapido hasta para una lista de 1.000 elementos...

Bueno, gracias a todos.

Esto es para un juego para nds programado en c/c++... ya lo mostrare si algun milenio de estos lo termino ;)
Creo que también se podria hacer asi.

Haces una vector ordenado...

Por ejemplo
n[0] = 1;
n[1] = 2;
n[2] = 3;
n[3] = 4
n[4] = 5;

luego cojes un numero aleatorio, y en un bucle haces esto...
por ejemplo...

for(int i=0; i < 5; i++);
{

// Buscamos una posición de nuestro vector
j = rand()%5;

// Y aqui hacemos el cambio
numero = n[i];
n[i] = n[j];
n[j] = numero;

}

o para que se mezcle en mas pasadas...

for(int i=0; i < Barajar; i++);
{

// Buscamos las dos posiciones de nuestro vector a intercambiar

j = rand()%5;
k = rand()%5

// Y aqui hacemos el cambio
numero = n[j];
n[j] = n[k];
n[k] = numero;

}

Ya en Barajar pones las veces que quieres que se mezcle.

Algo asi, haria yo para ahorrarme lo de las dos matrices
5 respuestas