zl程序教程

您现在的位置是:首页 >  后端

当前栏目

洗牌算法---random_shuffle

算法 --- Random shuffle 洗牌
2023-09-14 09:13:38 时间

在这里插入图片描述
可以将元素洗牌,变得无序
注意要手动添加随机数种子,否则是伪随机

#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>
#include<ctime>
//random_shuffle
void p(int val)
{
	cout << val << " ";
}
void test01()
{
	vector<int> v = { 1,2,3,4,5,6,7,8,9 };
	cout << "未洗牌前:";
	for_each(v.begin(), v.end(), p);
	cout << "\n洗牌后:";
	random_shuffle(v.begin(), v.end());
	for_each(v.begin(), v.end(), p);
}
int main()
{

	srand((size_t)time(NULL));
	test01();
	cout << endl;
	system("pause");
	return 0;
}

在这里插入图片描述