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

堆栈与队列算法-以链表来实现队列

目录

堆栈与队列算法-以链表来实现队列

C++代码


堆栈与队列算法-以链表来实现队列

队列除了能以数组的方式来实现外,也可以用链表来实现。在声明队列的类中,除了和队列相关的方法外,还必须有指向队列前端和队列末尾的指针,即front和rear。

C++代码

#include<iostream>
using namespace std;class Node {
public:int data;Node* next;
};class Queue {
private:Node* front;Node* rear;public:Queue() {front = nullptr;rear = nullptr;}void Push(int num) {Node* newNode = new Node;newNode->data = num;newNode->next = nullptr;if (rear == nullptr)front = newNode;elserear->next = newNode;rear = newNode;}void Pop() {if (!(front == nullptr)) {if (front == rear)rear = nullptr;front = front->next;}}void Print() {while (true) {if (!(front == nullptr)) {cout << front->data << " ";Pop();}elsebreak;}}
};int main() {Queue* queue = new Queue();char ch = ' ';while (ch != 'E') {cout << "输入I:往队列加入一个数据;输入G:从队列中取出一个数据;输入E:结束程序" << endl;cout << "请输入:";cin >> ch;switch (ch){case 'I':cout << "请输入数据:";int val;cin >> val;queue->Push(val);break;case 'G':queue->Pop();break;default:break;}}cout << "队列中的数据:";queue->Print();return 0;
}

结果输出

相关文章:

堆栈与队列算法-以链表来实现队列

目录 堆栈与队列算法-以链表来实现队列 C代码 堆栈与队列算法-以链表来实现队列 队列除了能以数组的方式来实现外&#xff0c;也可以用链表来实现。在声明队列的类中&#xff0c;除了和队列相关的方法外&#xff0c;还必须有指向队列前端和队列末尾的指针&#xff0c;即fron…...

快速入门:使用 Spring Boot 构建 Web 应用程序

前言 本文将讨论以下主题&#xff1a; 安装 Java JDK、Gradle 或 Maven 和 Eclipse 或 IntelliJ IDEA创建一个新的 Spring Boot 项目运行 Spring Boot 应用程序编写一个简单的 Web 应用程序打包应用程序以用于生产环境 通过这些主题&#xff0c;您将能够开始使用 Spring Boo…...

01.CentOS7静默安装oracle11g

CentOS7静默安装oracle11g 一、下载Oracle11g安装包二、开始安装oracle11g三、配置Oracle监听程序四、添加数据库实例五、设置开机启动六、登录后解除锁定 一、下载Oracle11g安装包 下载链接&#xff1a;https://pan.baidu.com/s/1gcLMFGX7-8ju7OoFOFLzQA 提取码&#xff1a;6…...

SASE安全访问服务边缘

自存用&#xff1a; 参考文档&#xff1a; 什么是安全访问服务边缘 (SASE)&#xff1f; | Microsoft 安全 网安人必读 &#xff5c;一文读懂SASE - 知乎...

k8s集群升级

目录 1. 部署cri-docker &#xff08;所有集群节点&#xff09; 2. 升级master节点 3. 升级worker节点 4. 部署containerd 1. 部署cri-docker &#xff08;所有集群节点&#xff09; k8s从1.24版本开始移除了dockershim&#xff0c;所以需要安装cri-docker插件才能使用docker …...

redis原理 主从同步和哨兵集群

主从库如何实现数据一致 我们总说的 Redis 具有高可靠性&#xff0c;又是什么意思呢&#xff1f;其实&#xff0c;这里有两层含义&#xff1a;一是数据尽量少丢失&#xff0c;二是服务尽量少中断。AOF 和 RDB 保证了前者&#xff0c;而对于后者&#xff0c;Redis 的做法就是增…...

四季古诗赏析

春晓 春眠不觉晓&#xff0c;处处闻啼鸟。夜来风雨声&#xff0c;花落知多少。 夏意 别院深深夏簟清&#xff0c;石榴开遍透帘明。树阴满地日当午&#xff0c;梦觉流莺时一声。 秋词 自古逢秋悲寂寥&#xff0c;我言秋日胜春朝。晴空一鹤排云上&#xff0c;便引诗情到碧霄。 …...

【网络协议】聊聊套接字socket

网络编程我们知道是通过socket进行编程的&#xff0c;其实socket也是基于TCP和UDP协议进行编程的。但是在socket层面是感知不到下层的&#xff0c;所以在设置参数的时候&#xff0c;其实是端到端协议智商的网络层和传输层。TCP是数据流所以设置为SOCK_STREAM&#xff0c;而UDP是…...

GEO生信数据挖掘(十一)STRING数据库PPI蛋白互作网络 Cytoscape个性化绘图【SCI 指日可待】

GEO生信数据挖掘&#xff08;十&#xff09;肺结核数据-差异分析-WGCNA分析&#xff08;900行代码整理注释更新版本&#xff09; 通过 前面十篇文章的学习&#xff0c;我们应该已经可以获取到一个”心仪的基因列表“了&#xff0c;相较于原始基因数量&#xff0c;这个列表的数…...

api接口更新钉钉文档

class OperateKnowledgeBaseExcel():robot_code # agent_id #app_key #群机器人app_secret #群机器人def __init__(self,union_id, workbook_id, worksheet_id):self.union_id union_idself.workbook_id workbook_id # 获取方式&#xff1a;... &g…...

Android---如何同view进行渲染

ViewRootImpl 在 Activity、window 和 View 三者关系之间起着承上启下的作用。一方面&#xff0c;ViewRootImpl 中通过 Binder 通信机制&#xff0c;远程调用 WindowSession 将 View 添加到 Window 中&#xff1b;另一方面&#xff0c;ViewRootImpl 在添加 View 之前&#xff0…...

【LeetCode:26. 删除有序数组中的重复项 | 双指针】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…...

如何判断一个对象是不是一个空对象?

在JavaScript中&#xff0c;可以使用以下方法来判断一个对象是否为空对象&#xff1a; 1&#xff1a;使用Object.keys()方法&#xff1a;Object.keys()方法返回一个包含对象自身可枚举属性的数组。通过判断该数组的长度&#xff0c;可以确定对象是否为空对象。 function isEm…...

C/C++ “variable set but not used“的 警告问题解决方案

在编程的过程中&#xff0c;会有一些预留的变量暂时不用&#xff0c;但是编译过程编译器警告 会报错无法编译通过针对这个问题&#xff0c;采用下面的解决方案比较方便。 错误如下形式&#xff1a; 三种解决方法&#xff1a; 1.可以在变量前加上&#xff08;void&#xff09;就…...

JAVA安全入门之反射

反射 对于反射这个概念来说&#xff0c;直白的讲就是&#xff1a; 对象可以通过反射获取他的类&#xff0c;类可以通过反射拿到所有⽅法&#xff08;包括私有&#xff09;&#xff0c;拿到的⽅法可以调⽤而众所周知 JAVA 是一门静态语言&#xff0c;我们通过反射就可以达到动…...

【c++|opencv】一、基础操作---2.图像信息获取

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 图像信息获取&#xff0c;roi 1. 图像信息获取 // 获取图像信息#include <iostream> #include <opencv2/opencv.hpp>using namespace cv; …...

HarmonyOS开发:探索组件化模式开发

前言 组件化一直是移动端比较流行的开发方式&#xff0c;有着编译运行快&#xff0c;业务逻辑分明&#xff0c;任务划分清晰等优点&#xff0c;针对Android端的组件化&#xff0c;之前有比较系统的总结过相关文章&#xff0c;感兴趣的朋友&#xff0c;可以查看&#xff0c;点击…...

目标URL启用了不安全的HTTP方法

修复中危web项目漏洞&#xff08;目标URL启用了不安全的HTTP方法&#xff09; 漏洞名 &#xff1a;目标URL启用了不安全的HTTP方法 等级&#xff1a; 中危 漏洞位置&#xff1a; PUT DELETE 描述&#xff1a; Web服务器配置为允许使用危险的HTTP方法&#xff0c;如PUT、MOVE、…...

大数据之LibrA数据库系统告警处理(ALM-12001 审计日志转储失败)

告警解释 根据本地历史数据备份策略&#xff0c;集群的审计日志需要转储到第三方服务器上。如果转储服务器满足配置条件&#xff0c;审计日志可以成功转储。审计日志转储失败&#xff0c;系统产生此告警。如果第三方服务器的转储目录磁盘空间不足&#xff0c;或者用户修改了转…...

大模型该被知道的技术实现-面向垂直领域

一个高度清晰的思维导图截图奉上&#xff08;下载&#xff1a;需3积分&#xff09; 内容截图...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...