当前位置: 首页 > news >正文

汕头建设网招标seo常用工具

汕头建设网招标,seo常用工具,网站开发代理合同,想学做网站学那个软件好目录 一、 队列的基本认识 二、 队列的操作 2.1 引入头文件 2.2 创建队列 2.3 队列的常见操作 三、 解题 通过本次练习,将会学习到以下C知识点: 队列的基本概念(队头、队尾)和特点(先入先出)入队、出队…

 

目录

一、 队列的基本认识

二、 队列的操作

2.1 引入头文件

2.2 创建队列

2.3 队列的常见操作

 三、 解题


通过本次练习,将会学习到以下C++知识点:

  • 队列的基本概念(队头、队尾)和特点(先入先出)
  • 入队、出队、获取队头元素和判断队列是否为空等基本操作
  • queue的定义和使用

题目描述:

假设有一家奶茶店,现在有一些人在排队等待取奶茶,同时也有人在取奶茶。 请你设计一个程序模拟这种情况下的奶茶队列管理。

假设每个人取奶茶的时间非常短,可以忽略不计,只需要考虑队列中的操作。 

队列操作说明: 

1. 当操作为 1 时,表示有人已经取走奶茶,从队列中删除该人的信息。
2. 当操作为 2 时,表示有新人加入排队,将该人的信息加入队列。 

在一系列操作之后,你需要回答:下一个取奶茶的人是谁?

输入描述:

第一行有一个整数 n,代表初始队列有 n 个人。 

第二行有 n 个字符串,代表当前奶茶队列中的人。 

第三行为一个整数 m,代表接下来将会有 m 次操作。 

接下来一共有 m 行,代表共有 m 次操作。 

如果是操作 1,那么该行只会有一个数字,代表有人取走了奶茶。
如果是操作 2,那么该行有一个数字和一个字符串,第一个数字 2 表示有人加入了奶茶队列,第二个字符串代表新加入的奶茶队列的人。

输出描述:

输出只有一行,为下一个取奶茶的人。 如果已经没有去奶茶的人了,输出“There are no more people in the queue.”。

 

输入示例:
5
Giselle Winter Aubree Wrenley Royalty
3
1
1
2 Andrew输出示例:
Aubree

一、 队列的基本认识

在队伍的最后一位(也被称为队尾)入队,想要离开队列,需要从队伍的第一位(也被称为队头)出队。

队列在队尾那一侧进行插入操作(入队),在队头那一侧进行删除操作(出队),而且是先进先出FIFO(最先进入队列的元素将首先被移除)。

队列的基本应用:

队列在计算机领域中应用也十分广泛,比如在网络通信中,请求和响应通常以队列的形式进行排队,以确保数据按照正确的顺序进行传输,又比如说不同进程可以通过消息队列来传递数据和消息。

二、 队列的操作

2.1 引入头文件

// 引入queue头文件
#include <queue>

2.2 创建队列

需要指定队列中元素的类型,不过这也意味着队列中的元素必须是相同的数据类型,下面的代码表示创建一个字符串类型的队列。

queue<string> q; // 创建一个字符串类型的队列

2.3 队列的常见操作

  • empty(): 判断队列是否为空,如果队列为空返回true, 否则返回false
  • push(): 入队操作,将新的元素添加到队列的尾部。
  • pop(): 出队操作,移除队列的头部元素。
  • front(): 访问队列的头部元素,但不会将其移除。
  • size(): 获取队列的长度,即队列中元素的数量。
q.push("Jack");
q.push("Mike");  // 入队了两个名称字符串q.pop(); // 移除队列头部的元素string name = q.front(); // 获取队列头部的元素但是不会将其移除bool isEmpty = q.empty(); //  如果队列为空,返回true;否则返回falseint queueSize = q.size(); // 获取队列中元素的数量

 三、 解题

#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main(){int n, m, opt; //n代表队列长度,m代表操作次数,opt代表输入指令string name;//字符串名字cin >> n;queue <string> duilie;//新建一个队列while(n--){cin >> name;duilie.push(name);//操作入队}cin >> m;while(m--){cin >> opt;//判断队列是否为空if(opt == 1 && !duilie.empty()) duilie.pop();//pop操作出队else{cin >> name;duilie.push(name);}}// empty操作判断队列是否为空if (duilie.empty()) cout << "There are no more people in the queue." << endl;else cout << duilie.front() << endl; // front操作取出队头元素
}

http://www.tj-hxxt.cn/news/69421.html

相关文章:

  • 拟与 合作建设网站 请予审批廊坊百度推广电话
  • 南京网站流量优化微信视频号小店
  • 网站开发域名注册html制作网站
  • wordpress默认文章模式卢镇seo网站优化排名
  • 做短视频网站收益2023年小学生简短小新闻
  • 如何攻击织梦做的网站方法bt蚂蚁磁力
  • 制作网站生成器关键词筛选工具
  • phpcmsv9蓝色简洁下载网站模板优化大师windows
  • 太原市网站建设网站3分钟搞定网站seo优化外链建设
  • 石河子网站设计天津百度搜索网站排名
  • 网页设计与制作简答题好搜网惠州seo
  • 怎么筛选一家做网站做的好的公司百度热议怎么上首页
  • 打开自己的网站是别人的域专业seo排名优化费用
  • 聊城百度做网站的企业网站设计思路
  • 网站开发需求表百度指数与百度搜索量
  • 网站建设 无锡小吃培训2000元学6项
  • 做感恩网站的图片大全搜索引擎优化关键字
  • 室内设计ppt模板免费江苏seo团队
  • 三水容桂网站制作武汉网站排名提升
  • 网站开发指什么网站推广在哪好
  • 怎么做企业营销型网站免费推广渠道有哪些
  • 国外开源 企业网站网站开发报价方案
  • seo sem 外贸建站 网站建设 文化墙设计厦门seo全网营销
  • 火车头采集wordpress发布莆田百度快照优化
  • 成都网站建设公司排行网站关键词优化多少钱
  • 免费网站建站手机网络推广的优势
  • 网站建设公司的做网站推广
  • 鹤山做网站软文营销经典案例
  • 怎么样做搜索引擎网站网站seo优化推广外包
  • 中国移动官方网站登录入口软件开发需要多少资金