【STL】deque双端开口容器

news2024/11/20 10:22:26

1.关于deque容器说明

deque容器与vector容器差不多,但deque是双端开口容器,可以在两端插入和删除元素

  • push_front( )//在头部插入
  • push_back( )//在尾部插入
  • pop_front( )//在头部删除
  • pop_back( ) //在尾部删除

其他相应函数与vector差不多,想了解的可以看我写的关于vector单端开口容器基本函数操作https://mp.csdn.net/mp_blog/creation/editor/136658972

2.例题:

#include<iostream>
#include<vector> 
#include<deque>
#include<string>
#include<algorithm>//sort() 头文件 
#include<cstdlib> //rand()与srand()头文件 
#include<ctime> //time()头文件 
#include<numeric>//accumlate()头文件  (求和) 
using namespace std;

class student
{
	public:
		string name;
		float score;
	public:
		student()
		{
			
		}
		student(string name,float score)
		{
			this->name=name;
			this->score=score;
		}
};
void createstudent(vector<student> &v)//创建选手名,刚开使成绩赋为0 
{
	string a="ABCDE";
	for(int i=0;i<5;i++)
	{
		string name="选手";
		name+=a[i];
		v.push_back(student(name,0));
		 
	}
}
void showstudent(vector<student> &v)//输出选手的名字与成绩 
{
	vector<student>::iterator it=v.begin();
	for( ;it!=v.end();it++)
	{
		cout<<(*it).name<<" "<<(*it).score<<endl;
	}
}
void playgame(vector<student> &v)//比赛得到成绩 
{
	srand(time(0));//设置随机数种子 
	vector<student>::iterator it=v.begin();//每人逐渐比赛 
	for( ;it!=v.end();it++)
	{
		deque<float> d;//存放评委的评分
		for(int i=0;i<10;i++)
		{
			d.push_back(rand()%41+60);//产生随机数60~100 
		//	printvector(d);
		} 
		//排序
		sort(d.begin(),d.end());
		
		//去掉最高分与最低分 
		d.pop_back();
		d.pop_front();
		
		//求平均分 
		(*it).score=(float)accumulate(d.begin(),d.end(),0)/d.size(); 
		
	}
}
int main()
{
	vector<student> v;
	createstudent(v);
	playgame(v);
	showstudent(v);
	return 0;
}

提示:accumulate(d.begin(),d.end(),0)  //在区间[d.begin(),d.end()]求和,并在和的基础上加上0,如果后面是100,那就加上100

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1525236.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024 年(第 12 届)“泰迪杯”数据挖掘挑战赛—— C 题:竞赛论文的辅助自动评阅完整思路与源代码分享

一、问题背景 近年来我国各领域各层次学科竞赛百花齐放&#xff0c;层出不穷&#xff0c;学生参与度也越来越高。随着参赛队伍的增 加&#xff0c;评阅论文的工作量急剧增加&#xff0c;这对评阅论文的人力要求也越来越大。因此引入机器辅助评阅成为竞赛主办方的现实需求。 在…

AI智能客服的开发流程

实现智能客服涉及多个步骤&#xff0c;包括数据收集、模型训练、部署和优化。以下是一个基本的实现智能客服的流程&#xff0c;希望对大家有所帮助。 1.数据收集&#xff1a; 收集与客服相关的数据&#xff0c;包括对话记录、常见问题、知识库等。 数据可以来自历史的客服对话…

成都伊理威:开抖音小店到底能赚钱吗

在数字时代的浪潮中&#xff0c;抖音如同一颗璀璨的新星&#xff0c;吸引了无数创业者的目光。不少人心中盘旋着同一个问题&#xff1a;“开抖音小店&#xff0c;真的能赚钱吗?”事实上&#xff0c;答案并非简单的“能”或“不能”&#xff0c;而是一个充满变数的命题。 开设抖…

蓝桥杯真题|02普及-真题

目录 [蓝桥杯 2017 省 B] 日期问题 题目描述 输入格式 输出格式 输入输出样例 代码及思路 [蓝桥杯 2021 省 B] 时间显示 题目描述 输入格式 输出格式 输入输出样例 说明/提示 代码及思路 [蓝桥杯 2017 省 B] 日期问题 题目描述 小明正在整理一批历史文献。这些历…

uniapp+uview 学习笔记(一)—— H5开发

文章目录 前言一、开发步骤1.创建项目2.安装组件库并导入使用3.封装请求4.国际化5.打包 总结 前言 本文主要介绍使用uniapp框架和uview组件库进行H5开发&#xff0c;需要用到的开发工具为HBuilder X。 一、开发步骤 1.创建项目 打开HBuilder X&#xff0c;在顶部栏目选择 新…

使用map和set实现简单的词频统计

一、运行效果图 二、代码示例 #include <iostream> #include <fstream> #include <sstream> #include <string> #include <map> #include <set> #include <vector> #include <algorithm> using namespace std;class TextQuer…

【Leetcode每日一题】 递归 - 两两交换链表中的节点(难度⭐)(38)

1. 题目解析 题目链接&#xff1a;24. 两两交换链表中的节点 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 一、理解递归函数的含义 首先&#xff0c;我们需要明确递归函数的任务&#xff1a;给定一个链表&#xf…

Matlab|【免费】基于半不变量的概率潮流计算

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序主要内容是基于半不变量法的概率潮流&#xff0c;包含蒙特卡洛模拟法、半不变量法&#xff0b;Gram-Charlier级数展开以及半不变量法Cornish-Fisher级数展开三种方法以及效果对比&#xff0c;模型考虑了…

【AIGC工具】图片转3d模型

一个在线可以将图片转成3d模型的工具网站 有图形化界面 直接上传图片即可 网站地址&#xff1a; https://huggingface.co/spaces/Zhengyi/CRM

一文读懂systemd

文章目录 背景知识为何而来替代了什么init的缺点 systemd的系统架构图systemd (PID 1):systemd-journald:systemd-logind:systemd-udevd:systemd-networkd:systemd-resolved:systemd-timedated: systemd包括了哪些systemctljournalctlloginctlhostnamectltimedatectllocalectlm…

ngnix安装配置

通过yum -y install nginx的方式&#xff0c;有时候会出现No package nginx available的报错。迟迟无法解决。此时要通过下载安装包的方式安装。 1、下载安装包&#xff1a;官方网址 2、解压缩&#xff1a; tar -xzvf nginx-1.23.4.tar.gz cd nginx-1.23.4.tar.gz 3、源码包…

.NET高级面试指南专题十九【 数据库设计-4范式】

数据库范式设计是关系数据库设计中的重要概念&#xff0c;旨在减少数据冗余和提高数据的一致性。 范式设计的目的是提高数据库的数据质量、一致性和可维护性。通过将数据结构化为不同的范式&#xff0c;可以降低数据冗余&#xff0c;减少数据更新异常&#xff0c;提高数据的可靠…

【赠书第20期】AI绘画与修图实战:Photoshop+Firefly从入门到精通

文章目录 前言 1 入门篇&#xff1a;初识Photoshop与Firefly 2 进阶篇&#xff1a;掌握Photoshop与Firefly的核心技巧 3 实战篇&#xff1a;运用Photoshop与Firefly进行创作 4 精通篇&#xff1a;提升创作水平&#xff0c;拓展应用领域 5 结语 6 推荐图书 7 粉丝福利 前…

nginx 基本使用、借助 nginx 和 mkcert 实现本地 https://localhost 测试。

CSDN 如何将资源设置为免费&#xff1f; 安装和基本使用 进入 nginx 官网 下载 Mainline version 版本 解压到一个你喜欢的位置&#xff0c;比如解压到 C: 目录 不管配不配置环境变量&#xff0c;对 nginx 的所有操作都应该在对应文件夹中 基本命令的使用&#xff1a; cd …

C#装箱和拆箱

一&#xff0c;装箱 装箱是指将值类型转化为引用类型。 代码如下&#xff1a; 装箱的内部过程 当值类型需要被装箱为引用类型时&#xff0c;CLR&#xff08;Common Language Runtime&#xff09;会为值类型分配内存&#xff0c;在堆上创建一个新的对象。值类型的数据会被复…

长连接技术

个人学习记录&#xff0c;欢迎指正 1.轮询 1.1 轮询的形式 短连接轮询 前端每隔一段时间向服务端发起一次Http请求来获取数据。 const shortPolling () > { const intervalHandler setInterval(() > {fetch(/xxx/yyy).then(response > response.json()).then(respo…

TCP-IP 知识汇总

开放式系统互联模型------国际化标准组织ISO提出----协议组&#xff08;协议模型&#xff09; 应用层&#xff1a;接收用户数据&#xff0c;人机交互的接口 表示层&#xff1a;将编码转换为二进制&#xff08;加密、解密&#xff09;---统一格式 会话层&#xff1a;针对传输…

GEE:调用 Assets 中的数据

本文将介绍在 Google Earth Engine&#xff08;GEE&#xff09;平台上调用 Assets 中的数据的方法和代码。 文章目录 一、下载和保存1.1 保存影像数据到Assets1.2 保存矢量数据到Assets 二、调用2.1 调用影像2.2 调用矢量 三、数据路径获取3.1 数据路径 一、下载和保存 下载数…

【php基础】输出、变量、

php基础补充 1. 输出2.和"的区别3.变量3.1变量的命名规则3.2 两个对象指向同一个值3.3 可变变量 4.变量的作用域5. 检测变量 1. 输出 echo: 输出 print: 输出&#xff0c;输出成功返回1 print_r(): 输出数组 var_dump(): 输出数据的详细信息&#xff0c;带有数据类型和数…

【Numpy】练习题100道(51-75题)

&#x1f33b;个人主页&#xff1a;相洋同学 &#x1f947;学习在于行动、总结和坚持&#xff0c;共勉&#xff01; #学习笔记# Git-hub链接 目录 1.题目列表 2.题解 1.题目列表 51. 创建一个表示位置&#xff08;x,y&#xff09;和颜色&#xff08;r,g,b&#xff09;的结…