功能描述:
洗牌 指定范围内的元素随机调整次序
函数原型:
random_shuffle(iterator beg,iterator end);
//指定范围内的元素随机调整次序
//beg 开始迭代器
//end 结束迭代器
#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
#includ <ctime>
void MyPrint(int &val)
{
cout << val << " ";
}
void test01()
{
srand((unsigneg int)time(NULL));
vector<int>v;
for (int i = 0; i < 10; i++)
{
v.push_back(i);
}
cout << "洗牌前:" << endl;
for_each(v.begin(), v.end(), MyPrint);
random_shuffle(v.begin(), v.end());
cout << "\n洗牌后:" << endl;
for_each(v.begin(), v.end(), MyPrint);
}
int main()
{
test01();
system("pause");
return 0;
}
总结:random_shuffle洗牌算法比较实用,使用时记得加随机数种子