desordenar vector
¿Alguien conoce algun algortimo para desordenar un vector?
Es urgente...
gracias!!!
Es urgente...
gracias!!!
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
#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
Sorry, es que a mi tambien me interesa saber como desordenar un vector algo mas grande en C++ (108 enteros). El algoritmo anterior esta bueno, pero siempre me da como resultado el mismo desorden, es posible desordenar un vector con ramdom tal que pueda tener 108! salidas??? (es decir, 108 factorial combinaciones posibles que pueda arrojar como resultado de desordenar)...
Si me pudieran ayudar lo antes posible seria genial, tenemos un algoritmo, pero que esta muy lejos de tener 108! salidas, solo tiene 96... muy poco comparado con un numero que ni siquiera se puede ver en las calculadoras convencionales ni incorporadas en el PC....
Si me pudieran ayudar lo antes posible seria genial, tenemos un algoritmo, pero que esta muy lejos de tener 108! salidas, solo tiene 96... muy poco comparado con un numero que ni siquiera se puede ver en las calculadoras convencionales ni incorporadas en el PC....
