Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > C / C++ > desordenar vector
-Foros de debate

C / C++
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

desordenar vector
Enviado por chiki el día 11 de enero de 2005

¿Alguien conoce algun algortimo para desordenar un vector?
Es urgente...

gracias!!!

 
Re: desordenar vector
Enviado por jomismo el día 11 de enero de 2005

kieres decir ke tienes por ejemplo esto

1 2 3 4 5

y kieres desordenarlo

pues haz un random del numero maximo de posiciones del array y ke te vaya insetando los objetos del array dependiendo del numero ke te ha salido en el random

 
Re: Re: desordenar vector
Enviado por chiki el día 12 de enero de 2005

GRACIAS

 
Re: Re: Re: desordenar vector
Enviado por no tengo el día 2 de febrero de 2005

eso está mal, ya que si es random, podés estar pisando posiciones del vector cuando asignas un subíndice que ya existió en la sarta de números aleatorios. Alguien propone algo mejor??

 
Re: Re: Re: Re: desordenar vector
Enviado por miguel el día 2 de febrero de 2005

Para desordenar un vector (o array unidimensional o arreglo) de cualquier tipo, y bien desordenado, la idea es la siguiente:

- Crear un vector auxiliar, donde quedará el vector desordenado.
- Mediante la función de numeros aleatorios se elige una casilla cualquiera del vector origen y se copia en la primera casilla del vector auxiliar.
- Mediante la función de aleatorios se elige otra casilla del vector origen y se copia en la siguiente casilla del vector auxiliar (ahora en la segunda casilla).
- Y así sucesivamente hasta completar el vector auxiliar.
- Para evitar repeticiones a la hora de seleccionar casillas del vector origen, se controlará qué casillas fueron ya copiadas. De esta manera si se selecciona una casilla que ya fue copiada se vuelve a seleccionar otra.

Esta es la idea de un posible algoritmo. Se puede hacer de más maneras.

Para más detalles visitad www.maacera.com y preguntad al tutor on-line.

Saludos.

 
Re: Re: Re: Re: Re: desordenar vector
Enviado por Waysen el día 11 de junio de 2008

Y alguna forma determinista para desornedar un vector??

es decir, que siempre te lo desordene de la misma forma.....

 





Re: desordenar vector
Enviado por Alejandro_ el día 2 de febrero de 2005

Aquí pongo un ejemplo que puedes compilar y probar:

#include <iostream>
#include <algorithm>
#include <iterator>

using namespace std;

int main()
{
int a[] = {1,2,3,4,5,6,7,8,9,10};
cout << "Ordenado:\n";
copy(a,a+10,
ostream_iterator<int,char>(cout," "));

random_shuffle(a, a+10);

cout << "\nDesordenado:\n";
copy(a,a+10,
ostream_iterator<int,char>(cout," "));

cin.get();

return 0;
}

// Alejandro

 


Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network