#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;
}
stl vector实现随机重排列
最新推荐文章于 2023-08-25 08:26:17 发布