当前位置: 首页> 财经> 股票 > 昆山网站制作_创意办公空间设计_拉新推广赚钱的app_志鸿优化设计电子版

昆山网站制作_创意办公空间设计_拉新推广赚钱的app_志鸿优化设计电子版

时间:2025/7/22 20:15:20来源:https://blog.csdn.net/2301_76241275/article/details/142862766 浏览次数:0次
昆山网站制作_创意办公空间设计_拉新推广赚钱的app_志鸿优化设计电子版

目录

前言

一、题目描述

二、解题思路

1.队列

2.队列的操作

三、完整代码

总结

前言

仅个人记录所用

源自卡码网的C++基础课

“这门C++基础课 帮助 编程零基础学员快速学习刷算法题所需要的基础语法知识,学完之后,再来刷代码随想录,或者自己去刷编程题,基本不会有语法方面的困惑了,可以帮助大家快速上手刷题。 ”

第二十题包含以下内容:

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

一、题目描述

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、解题思路

队列这一数据结构,主要包括以下内容

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

1.队列

队列,顾名思义,和排队的队列结构是类似的,在排队的过程中,想要加入队列,需要在队伍的最后一位(也被称为队尾)入队,想要离开队列,需要从队伍的第一位(也被称为队头)出队。

image-20230914160949705

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

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

2.队列的操作

在C++中,你可以使用标准库提供的 std::queue 来创建和操作队列,不过这需要引入头文件queue

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

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

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

队列的常用操作主要有以下几种:

  • 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> q; // 新建一个队列while (n--) {cin >> name;q.push(name); // push操作入队}cin >> m;while (m--) {cin >> opt;// 注意这里如果队列已经为空就不能再弹出了,所以要判断是否为空if (opt == 1 && !q.empty()) q.pop(); // pop操作出队else {cin >> name;q.push(name);}}// empty操作判断队列是否为空if (q.empty()) cout << "There are no more people in the queue." << endl;else cout << q.front() << endl; // front操作取出队头元素
} 

总结

总结来说,栈是只能在尾部进行插入和删除操作的数据结构,队列是在尾部进行插入操作、头部进行删除操作的数据结构。

关键字:昆山网站制作_创意办公空间设计_拉新推广赚钱的app_志鸿优化设计电子版

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: