第15周实践项目-洗牌(3)
来源:互联网 发布:用java打印等腰三角形 编辑:程序博客网 时间:2024/05/20 23:55
问题描述及代码:
/**copyright (c) 2016,烟台大学计算机学院*All rights reserved.*文件名称:hellow.cpp*作者:田甜*完成日期:2016年6月12日*版本号:v1.0**问题描述:洗牌*输入描述:////*程序输出:///*/#include <iostream>#include <ctime>#include <cstdlib>#include <iterator>#include <vector>#include <list>using namespace std;typedef list<int> IntList;typedef unsigned int VIndex;void Listshuffle(IntList &unshuffledList,IntList &shuffledList){ VIndex p,size=unshuffledList.size(); IntList::iterator iter;//list为链式结构,不支持随机存取,需要用迭代器进行访问,但插入和删除操作比vactor简单 while(size) { p=rand()%size--; iter=unshuffledList.begin(); while(p!=0) { iter++; p--; } shuffledList.push_back(*iter); unshuffledList.erase(iter); }}int main(){ ostream_iterator<int> os(cout," "); srand(time(NULL)); IntList c1,sc1; for(VIndex i=0;i<=54;i++) { c1.push_back(i); } cout<<"Befor shuffled:"<<endl; copy(c1.begin(),c1.end(),os); cout<<endl; Listshuffle(c1,sc1); cout<<"After shuffled"<<endl; copy(sc1.begin(),sc1.end(),os); cout<<endl; return 0;}运行结果:
心得:
list为链式结构,不支持随机存取,需要用迭代器进行访问,但插入和删除操作比vactor简单
0 0
- 第15周实践项目-洗牌(3)
- 第15周实践项目-洗牌(2)
- 第15周实践项目项目2——洗牌
- 第15周实践项目-洗牌(范型程序设计)(1)
- 第15周项目二—洗牌(3)
- 第15周项目二—洗牌(1)
- 第15周项目二—洗牌(2)
- 第15周项目二洗牌(4)
- 第15周项目2:洗牌
- 第15周项目2:洗牌
- 第15周-项目2-洗牌
- 第15周项目2--洗牌
- 第15周项目2-洗牌
- 第15周 项目2---洗牌
- 第15周项目 2—洗牌
- 第十五周实践项目2-洗牌
- 第十五周上机实践项目2:洗牌
- 第15周项目-2-洗牌-使用STL的算法
- 第15周项目1--程序填空
- 第八周项目三指向学生类的指针
- oracle查询树形结构某层级节点及叶子节点
- 二进制文件的读写(视频)
- Android实现监听事件的三种方式
- 第15周实践项目-洗牌(3)
- 第14周项目1—排序函数模板
- 单机部署多个Tomcat的方法
- AtomicInteger类的理解与使用
- 十一周项目-1-点-圆-圆柱类族的设计(2)
- 第13周 项目二(3)
- java正则表达式
- JBOSS常用端口说明
- 实现图片的自动滚动