#include <algorithm> #include <iostream> #include <time.h> #include <vector> using namespace std; void Swap(int &a, int &b) { int c = a; a = b; b = c; } void random_arrange(int a[], int len) { int i; srand(time(NULL)); for(i=0; i<len; i++) { Swap(a[i], a[rand()%(i+1)]); } } void print(int a[], int len) { for(int i=0; i<len; i++) cout<<a[i]<<" "; cout<<endl; } int main(void) { int a[] = {1,2,3,4,5,6,7,8,9}; int len = sizeof(a)/sizeof(int); int i = 0; cout<<"before arrange"<<endl; print(a, len); //random_arrange(a, len); vector<int> se; //这里的vector要是换成set会报错 while(se.size() < len) se.push_back(a[i++]); random_shuffle(se.begin(), se.end()); cout<<"after arrange"<<endl; for(i=0; i<len; i++) cout<<se[i]<<" "; cout<<endl; return 0; }