/* FILE: randPerm.cpp last change: 22-May-2012 author: Romeo Rizzi * This program generates a random permutation. * Usage syntax: * > randPerm */ #include #include #include #include using namespace std; inline void swap(int &a, int &b) { int tmp = a; a = b; b = tmp; } void generaPerm_random_uniform(int *perm, int n) { for(int i=n; i > 1; i--) swap( perm[i], perm[ (rand() % i) + 1 ] ); } main(int argc, char** argv) { srand (time(NULL)); // initialize the pseudo-random generator int n; cout << "Quanti oggetti vuoi permutare: "; cin >> n; int perm[n+1]; for(int i = 1; i <= n; i++) perm[i] = i; generaPerm_random_uniform(perm, n); for(int i = 1; i <= n; i++) cout << " " << perm[i]; cout << endl; }