第15周项目-2-洗牌-使用STL的算法
来源:互联网 发布:vcr制作软件 编辑:程序博客网 时间:2024/05/20 22:40
问题及代码:
/*
*copyright (t) 2016,烟台大学计算机学院*All rights reserved.*文件名称:test.cpp*作者:张晴晴*完成日期:2016年6月16日*版本号:v1.0*问题描述: 在扑克牌游戏中,每次游戏开始都要求把54张牌重新排列一下,称为洗牌。 试编写程序将一副扑克牌(用54个整数1~54表示)随机洗好后,顺序输出54张牌的情况。*输入描述: 无*程序输出: 洗牌后的结果*/#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;//定义一个扑克变化的容器 for(int i=1; i<=54; i++) { poker.push_back(i);//在尾部加入数据后输出 } cout<<"洗牌之前:"<<endl; copy(poker.begin(),poker.end(),os); cout<<endl; random_shuffle(poker.begin(),poker.end());//打乱之前的排列顺序 cout<<"\n洗牌之后:"<<endl; copy(poker.begin(),poker.end(),os);//输出现在的排列顺序 cout<<endl<<endl; return 0;}
运行结果:
学习心得:
random_shuffle()是个完全通用的算法-适用于内建的数据类型和用户自定义类型。用于打乱的排列顺序:
0 0
- 第15周项目-2-洗牌-使用STL的算法
- 第十五周项目二(2)-洗牌(采用STL的 random_shuffle 算法)
- 第15周项目2:洗牌
- 第15周项目2:洗牌
- 第15周-项目2-洗牌
- 第15周项目2--洗牌
- 第15周项目2-洗牌
- 第15周 项目2---洗牌
- 第15周项目 2—洗牌
- 第15周实践项目项目2——洗牌
- 第15周实践项目-洗牌(2)
- 第15周项目二—洗牌(2)
- 第15周实践项目-洗牌(3)
- 第15周项目二—洗牌(1)
- 第15周项目二—洗牌(3)
- 第15周项目二洗牌(4)
- 第十五周项目2-洗牌
- 十五周项目2 洗牌
- JS中的 $(function(){ } 是什么意思
- jira+Confluence+FishEye安装破解集成
- 第十三周上机时间项目——项目1-分数类中的运算符重载
- 解决eclipse提示Initializing Java Tooling “has encountered a problem
- 我对循环for的理解
- 第15周项目-2-洗牌-使用STL的算法
- LDA主题模型
- 【图像处理入门】之图像的特征检测1:SIFT算法(未完待续)
- SpringMVC构建REST风格的URI
- 【表单设计】input的size和maxlength属性
- 基于微信的二次开发之连接微信接口(一)
- VC操作XML
- Webservice接口、Webservice例子
- 10,11周阅读程序