第15周 项目2---洗牌
2016-06-15 13:43
288 查看
/*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:肖雪 *完成日期:2016年6.15 *版 本 号:v1.0 *问题描述:在扑克牌游戏中,每次游戏开始都要求把54张牌重新排列一下,称为洗牌。 * 试编写程序将一副扑克牌(用54个整数1~54表示)随机洗好后,顺序输出54张牌的情况。 */
#include <ctime> #include <vector> #include <list> #include <iostream> #include <iterator> #include <cstdlib> using namespace std; using namespace std; typedef vector<int> IntVector; typedef unsigned int VIndex; void vectorShuffle(IntVector &unshuffled,IntVector &shuffled) { VIndex p,size=unshuffled.size(); while(size) { p=rand()%size--; shuffled.push_back(unshuffled[p]); unshuffled.erase(unshuffled.begin()+p); } } int main() { ostream_iterator<int> os(cout," "); srand(time(NULL)); IntVector c,sc; for(VIndex i=1; i<=54; i++) { c.push_back(i); } cout<<"Before Shuffle"<<endl; copy(c.begin(),c.end(),os); cout<<endl; vectorShuffle(c,sc); cout<<"\nAfter Shuffled"<<endl; copy(sc.begin(),sc.end(),os); cout<<endl<<endl; return 0; }
相关文章推荐
- MySQL索引类型总结和使用技巧以及注意事项
- Androidapk美化
- 怎么能打开AOPR的日志文件
- 已知GBK的某段码表,码表对应的字符
- 《广商百货》这几天的设计心得
- MySQL 常用函数 字符串函数
- Android Studio多渠道打包
- android gridview画分割线,如图:
- DLL和EXE的区别
- android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
- java 字符串,字符数组,list间的转化
- How do you evaluate music?
- 十年瑞友人
- 文本分类
- 2016WWDC详解
- MySQL和php数据访问
- android面试总结_2013
- 利用jenkins+jmeter搭建性能测试平台
- 为什么你有10年文案经验,但成不了专家?
- 【转载】探索式测试基础系列—生活进阶曲