/*
*Copyright(C) 2016,计算机与控制工程学院
*All rights reserved.
*文件名:main.cpp
*作者:张志新
*完成日期:2016年6月13日
*版本号:v1.0
*
*问题描述:给扑克牌排序
*/
#include <ctime>
#include <vector>
#include <iterator>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
ostream_iterator <int> os(cout," ");
srand(time(NULL)); // 洗牌前要先初始化随机数种子
vector <int> poker;//定义数组poker
for(int i=1; i<=54; i++)
{
poker.push_back(i);//把数从后面一个个的加
}
cout<<"Before Shuffle"<<endl;
copy(poker.begin(),poker.end(),os);
cout<<endl;
random_shuffle(poker.begin(),poker.end());//***random_shuffle算法***
cout<<"\nAfter Shuffled"<<endl;
copy(poker.begin(),poker.end(),os);
cout<<endl<<endl;
return 0;
}
学习心得:
这个洗牌有很多种做法,这一种是最简单的一种这里运用了random_shuffle算法。