首页 > 编程语言 >C++走向远洋——67(项目二、洗牌)

C++走向远洋——67(项目二、洗牌)

时间:2022-11-16 21:13:15浏览次数:46  
标签:cout unshuffled 洗牌 C++ IntVector 67 sc include size


*/
* Copyright (c) 2016,烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名:text.cpp
* 作者:常轩
* 微信公众号:Worldhello
* 完成日期:2016年6月9日
* 版本号:V1.0
* 问题描述:洗牌
* 程序输入:无
* 程序输出:见运行结果
*/
#include<iostream>
#include<ctime>
#include<list>
#include<vector>
#include<iterator>
#include<cstdlib>
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 Shuffled"<<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;
}


运行结果:

C++走向远洋——67(项目二、洗牌)_ios

C++走向远洋——67(项目二、洗牌)_微信公众号_02

标签:cout,unshuffled,洗牌,C++,IntVector,67,sc,include,size
From: https://blog.51cto.com/u_15311571/5857653

相关文章

  • C++走向远洋——66(十五周阅读程序)
    */*Copyright(c)2016,烟台大学计算机与控制工程学院*Allrightsreserved.*文件名:text.cpp*作者:常轩*微信公众号:Worldhello*完成日期:2016年6月8日*版本号:V1.......
  • C++走向远洋——37(工资类,2)
    */*Copyright(c)2016,烟台大学计算机与控制工程学院*Allrightsreserved.*文件名:salarly.cpp*作者:常轩*微信公众号:Worldhello*完成日期:2016年4月20日*版本......
  • C++走向远洋——34(友元函数,成员函数和一般函数的区别)
    */*Copyright(c)2016,烟台大学计算机与控制工程学院*Allrightsreserved.*文件名:youyuan.cpp*作者:常轩*微信公众号:Worldhello*完成日期:2016年4月10日*版本......
  • windows--cmake与c++的使用教程(8)
    1概述本文基于前文环境本节目标:基于VSCode,使用CMakeTools插件命令调试程序通过前面可以得知,CMakeTools的其他常用命令已经介绍过了,下面介绍CMake:debug命令......
  • c++中的分配子allocator的注意点
    stl中说所有属于同一种类型的分配子对象都是等价的这也就是说由同一分配子所分配出的对象可以被视为拥有相同的内存结构而可以被同一个析构函数所销毁这意味着自己定义的......
  • CSP 202206-1 归一化处理 C++
    1#include<iostream>2#include<vector>3#include<math.h>45intmain(){6intx{},sum{};7std::cin>>x;8std::vector<int>n(x,0);......
  • c++调用python
    cmakelistscmake_minimum_required(VERSION3.20)project(python_test)set(PYTHON_INCLUDE_DIRS"/home/ubuntu/miniconda3/envs/python38/include/python3.8")INCLUD......
  • C++ 不知图系列之基于链接表的无向图最短路径搜索
    1.前言图的常用存储方式有2种:邻接炬阵。链接表。邻接炬阵的优点和缺点都很明显。优点是简单、易理解,但是对于大部分图结构而言,都是稀疏的,使用矩阵存储,空间浪费......
  • C/C++PM2.5实时信息管理系统
    C/C++PM2.5实时信息管理系统该系统有两类用户,普通用户和管理员(1名)。其中,普通用户功能包括:1、按城市名称查询其对应的空气质量指数的所有相关信息,包括城市名称、AQI、......
  • C++ folly库解读(二) small_vector —— 小数据集下的std::vector替代方案
    介绍folly/small_vector.hfolly/small_vector.md行为与std::vector类似,但是使用了smallbufferoptimization(类似于fbstring中的SSO),将指定个数的数据内联在对象中,而不......