第15周实践项目-洗牌(范型程序设计)(1)
来源:互联网 发布:查询企业法人软件 编辑:程序博客网 时间:2024/05/17 06:58
问题描述及代码:
/* 02.*copyright (c) 2016,烟台大学计算机学院 03.*All rights reserved. 04.*文件名称:hellow.cpp 05.*作者:田甜 06.*完成日期:2016年6月6日 07.*版本号:v1.0 08.* 09.*问题描述:在扑克牌游戏中,每次游戏开始都要求把54张牌重新排列一下,称为洗牌。试编写程序将一副扑克牌(用54个整数1~54表示)随机洗好后,顺序输出54张牌的情况。 10.*输入描述:///11.*程序输出:///12.*/ #include <iostream>#include <ctime>#include <vector>#include <list>#include <iterator>#include <cstdlib>using namespace std;typedef vector<int> IntVector;typedef unsigned int VIndex;//void vectorShuffle(IntVector &unshuffled,IntVector &shuffled);这里不用声明的吗?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);//unshuffled 是一个容器,begin是这种容器的一个函数 }}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<<"Befor Shuffled:"<<endl; copy(c.begin(),c.end(),os); cout<<endl; vectorShuffle(c,sc); cout << "After shuffled:" << endl; copy(sc.begin(),sc.end(),os); cout<<endl<<endl; return 0;}
运行结果:
心得体会:
ostream_iterator是流迭代器。
流迭代器是标准模板库中的。因此是类模板。
ostream_iterator<int>
指定了类型,就是迭代器读写的类型。
通过这个流迭代器可以把你要输入的写入到指定的流中。
cout就是指定的流。就是标准输出。
可以改成一个输出流就可以,比如一个文件。
通俗的一点说,你把它看成一个指向输出流的指针。通过这个指针你可以把东西写的输出流中。
copy (v.begin(),v.end(),output);
这个意思就是说,把向量V中的数据放到cout输出流中,通过流迭代器output.
ostream_iterator<int> output(cout ,"*");
这个的意思说,放到输出流的时候,没放一个整数,就末尾添加一个*.
引用自百度知道:
ID: wanfustudio
0 0
- 第15周实践项目-洗牌(范型程序设计)(1)
- 第15周项目-洗牌(范型程序设计)(4)
- 第15周实践项目-洗牌(3)
- 第15周实践项目-洗牌(2)
- 第15周实践项目-范型程序设计(1)
- C++实践参考:洗牌(范型程序设计)
- 第15周实践项目项目2——洗牌
- 第15周项目二—洗牌(1)
- 第十五周项目二-洗牌(范形程序设计)
- 第15周项目二—洗牌(2)
- 第15周项目二—洗牌(3)
- 第15周项目二洗牌(4)
- 2015级C++第15周实践项目 范型程序设计
- C++第15周项目 范型程序设计 【项目1】
- 第15周项目2:洗牌
- 第15周项目2:洗牌
- 第15周-项目2-洗牌
- 第15周项目2--洗牌
- Java 入门教程之HelloWord
- 在选择数据库的路上,我们遇到过哪些坑?(2)
- 第十五周--阅读程序2
- 数据库的拆分
- 接口设计计数问题
- 第15周实践项目-洗牌(范型程序设计)(1)
- Installing Libpng on Ubuntu Linux
- 解决单个DEX文件方法数超过65536的解决方案
- leetcode 219. Contains Duplicate II
- 全国首例微信三级分销被认定为传销,三级分销“身世”揭秘(上)
- 四种方式实现SQLServer 分页查询
- /var/log目录下的20个Linux日志文件功能详解
- python生成器(转)
- 欢迎使用CSDN-markdown编辑器