带链的队列,入队,退队,检测带链队列的状态

news2024/9/29 11:58:05

代码:

#include<iostream>
using namespace std;
template<class T>
struct node
{
	T d;
	node *next;

};
template<class T>
class linked_Queue
{
	private:
		node<T> *front;
		node<T> *rear;
	public:
		linked_Queue();
		void prt_linked_Queue();
		int flag_linked_Queue();
		void ins_linked_Queue(T);
		T del_linked_Queue();
};
template<class T>
linked_Queue<T>::linked_Queue()
{
	front=NULL;
	rear=NULL;
	return;
}
template<class T>
void linked_Queue<T>::prt_linked_Queue()
{
	node<T> *p;
	p=front;
	if(p==NULL)
	{
		cout<<"空队列!"<<endl;return;
	}
	do
	{
		cout<<p->d<<endl;
		p=p->next;
	}while(p!=NULL);
	return;
}
template<class T>
int linked_Queue<T>::flag_linked_Queue()
{
	if(front==NULL) return(0);
	return(1);
}
template<class T>
void linked_Queue<T>::ins_linked_Queue(T x)
{
	node<T> *p;
	p=new node<T>;
	p->d=x;
	p->next=NULL;
	if(rear==NULL)
		front=p;
	else
		rear->next=p;
	rear=p;
	return;
}
template<class T>
T linked_Queue<T>::del_linked_Queue()
{
	T y;
	node<T> *q;
	if(front==NULL)
	{
		cout<<"空队!"<<endl;
		return(0);
	}
	y=front->d;
	q=front;
	front=q->next;
	delete q;
	if(front==NULL)rear=NULL;
	return(y);
}
int main()
{
	linked_Queue<int>q;
	q.ins_linked_Queue(50);
	q.ins_linked_Queue(60);
	q.ins_linked_Queue(70);
	q.ins_linked_Queue(80);
	q.ins_linked_Queue(90);
	q.ins_linked_Queue(100);
	cout<<"输出带链队列中的元素:"<<endl;
	q.prt_linked_Queue();
	if(q.flag_linked_Queue())
		cout<<"输出退队元素:"<<q.del_linked_Queue()<<endl;
	if(q.flag_linked_Queue())
		cout<<"输出退队元素:"<<q.del_linked_Queue()<<endl;
	if(q.flag_linked_Queue())
		cout<<"输出退队元素:"<<q.del_linked_Queue()<<endl;
	cout<<"再次输出带链队列中的元素:"<<endl;
	q.prt_linked_Queue();
	return 0;
}

运行结果

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

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

相关文章

联想电脑怎么开启vt_联想电脑开启vt虚拟化教程(附intel和amd主板开启方法)

最近使用联想电脑的小伙伴们问我&#xff0c;联想电脑怎么开启vt虚拟。大多数可以在Bios中开启vt虚拟化技术&#xff0c;当CPU支持VT-x虚拟化技术&#xff0c;有些电脑会自动开启VT-x虚拟化技术功能。而大部分的电脑则需要在Bios Setup界面中&#xff0c;手动进行设置&#xff…

掌握DFIR报表: 法医专家指南

介绍 在数字安全领域&#xff0c;DFIR&#xff08;数字取证和事件响应&#xff09;是一门重要的学科&#xff0c;体现了调查网络事件和破坏行为所必不可少的方法和实践。作为DFIR的核心&#xff0c;对DFIR报告的重视怎么强调都不为过。这些报告不仅仅是文件&#xff1b;它们是…

每天3分钟,彻底弄懂神经网络的优化器(三)Momentum

前面从最初的SGD开始&#xff0c;介绍SGD的算法细节&#xff0c;以及其在深度神经网络中的劣势&#xff0c;本文引入Momentum算法&#xff0c;解决SGD的一些问题。 1. Momentum算法的提出 动量&#xff08;Momentum&#xff09;方法最初由B.T.Polyak在1964年提出。这一方法被…

IAR全面支持国科环宇AS32X系列RISC-V车规MCU

IAR嵌入式开发解决方案将全面支持国科环宇AS32X系列ASIL-B MCU&#xff0c;共同推动汽车高品质应用的安全开发 中国上海&#xff0c;2024年9月29日 – 全球领先的嵌入式系统开发软件解决方案供应商IAR与北京国科环宇科技股份有限公司&#xff08;以下简称“国科环宇”&#xf…

Rust语言桌面应用开发GTK3 Gtk3-rs Glade

文章目录 GTK-RSGithub官网Rust 教程Rust 环境安装 GTK安装 Gladedemo.glade 文件完整示例 main.rs创建 Rust 项目Cargo.toml 文件main.rs 文件 编译运行GTK主题 GTK-RS gtk-rs 是一个用于在 Rust 编程语言中使用 GTK 图形用户界面工具包的库。GTK 是一个流行的跨平台 GUI 工具…

每日论文7-17MWCL基于IMOS的小vco增益变化的VCO

《Small VCO-Gain Variation Adding a Bias-Shifted Inversion-Mode MOS Varactor》17MWCL 对于PLL来说&#xff0c;其中VCO的调谐增益KVCO越线性&#xff0c;其变化程度ΔKvco越小&#xff0c;对PLL的稳定有较大的好处。这篇文章给了一个很简单朴素而有效的补偿var非线性的方…

Maven 编译和Nexus 构建私有仓库

Java 程序编译 编译流程 C 语言源码编译过程&#xff0c;对于单文件&#xff0c;我们可以使用 gcc 命令直接编译即可&#xff0c;但如果是大型商业项目&#xff0c;源码文件多&#xff0c;存在各种依赖&#xff0c;各种配置路径&#xff0c;各种库的支持等&#xff0c;几乎无法…

C0004.Qt中QComboBox设置下拉列表样式后,下拉列表样式无效的解决办法

问题描述 我们平时在使用Qt Creator对控件QComboBox的样式进行设置后,在运行程序启动界面时,发现设置的样式无效,效果如下: /* 设置下拉菜单框的样式 */ QComboBox QAbstractItemView {border: 1px solid rgb(161,161,161); /* 下拉菜单框的边框样式 */ }/* 设置下拉菜单…

现在转行AI晚不晚,应该怎么做呢?

对于40岁以上的非AI程序员来说&#xff0c;转行进入AI领域虽然可能面临一些挑战&#xff0c;但并非不可实现。凭借你已有的编程经验和技术背景&#xff0c;加上适当的学习策略和实践&#xff0c;你可以成功跨入AI领域。以下是一些针对40岁程序员转行AI的建议&#xff0c;特别是…

GCC使用入门

文章目录 GCC简介单个文件编译过程预处理(Preprocessing)编译(Compilation)汇编(Assembly)链接(Linking) 多文件编译过程头文件搜索路径三种不推荐的方法两种推荐的方法 库文件静态库文件创建和使用静态库链接顺序 动态库文件创建和使用动态库 Warning编译选项调试信息(-g)编译…

快递单号物流跟踪管理快速筛选出已签收单号

看着满屏的单号&#xff0c;是不是感觉眼前一黑要查询到什么时候&#xff1f;别灰心&#xff0c;这不快递批量查询高手来了&#xff01;这神器就是用来查询物流的好帮手。一键筛选已签收件单号&#xff0c;并导出表格。有了它&#xff0c;你也能轻松查询大量的单号物流。一起试…

买前必看,教你挑选适合自己的蓝牙耳机(我早点刷到该多好啊)

无论是运动、通勤&#xff0c;还是休闲娱乐时&#xff0c;蓝牙耳机已经成为我们便捷生活的一部分。那么&#xff0c;市场上这么多款蓝牙耳机&#xff0c;我们究竟该怎么选&#xff1f;耳机挑不对&#xff0c;买了也白费&#xff01;买蓝牙耳机之前要搞清楚耳机的这些参数&#…

【算法业务】关于数据驱动的用户增长思考

这篇内容是多年之前&#xff08;2020年&#xff09;的用户增长项目时自己写的总结&#xff0c;这里做一下对于实践和思考的回顾&#xff0c;便于知识的记录和经验分享&#xff0c;内容涉及用户增长理解、个性化推送系统框架、个性化推送问题建模、推送内容池构建、智能文案生成…

BMT Building Maker Toolset 房屋建筑快速创建工具

BuildingMakerToolset提供了一个用于创建建筑和放置预制件的自定义工作流程。 如果你需要为你的游戏设计一些带室内装饰的建筑,或者你是一名关卡设计师,你想让你的工作流程更有效,这可能是适合你的资产。 该工具集与200多个墙壁、电缆、管道等预制件配对。所有预制件都指定了…

基于NXP LS1046+FPGA的轨道交通3U CPCI多网口解决方案,支持QNX/VXWOKRS/LINUX

Feature Summary Specification Description 处理器 NXP LS1046A at up to 1.4GHz 存储 DDR4&#xff0c; 16GB Emmc&#xff0c;16MB QSPI FLASH 板卡形状 3U标准CPCI板卡 尺寸 160.00 100.00mm 接口 2路2.5GE 2路1GE 1路RS232 1路IRIGB 调试接口 JTAG / COP de…

AI生成头像表情包副业,每天仅需十分钟,无脑操作月入过万!

项目介绍 今天我想与大家分享一个有趣的项目&#xff1a;AI生成表情包和头像。这对于我们进行IP打造来说&#xff0c;实在是个不错的选择&#xff0c;尤其是像我这样的头像。那为什么说每天只需花费10分钟呢&#xff1f;接下来我们来探讨一下。 这个项目的核心在于利用AI技术…

读取到json数据拿出来,修改后重新写入json文件

在写程序过程中&#xff0c;有些时候需要拿到json里面的数据&#xff0c;再进行修改&#xff0c;哪该怎么操作呢&#xff1f;跟着我以下的操作进行&#xff0c;就能更改json文件的内容了。 比如说我要修改年级的状态&#xff0c;修改为0 先创建一个json文件&#xff0c;数据格…

vue3项目中引入Cesium

1、创建项目 本文章是我学习Cesium时记录下来的&#xff0c;是我用来学习使用的。 使用vitevue3创建项目&#xff0c;组件库使用element plus&#xff0c;项目地址在我的gitee仓库中有&#xff0c;https://gitee.com/the-world-keeps-blooming/my-vite-vue-cesium。 在vite中有…

高效修复MySQL数据库

介绍 MySQL被广泛认为是最著名的数据库管理系统之一&#xff0c;是跨各种行业的许多应用的基础。mysql数据库的耐用性和效率是决定这些应用程序是否能不受任何干扰地运行的重要因素。需要对MySQL数据库进行定期维护&#xff0c;以防止发生以下情况:数据丢失和系统中断。此外&a…

springboot购物网站源码分享

开头&#xff1a;springboot购物网站源码分享 题目&#xff1a;springboot购物网站源码分享 主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Mysql|大数据|SSM|SpringBoot|Vue|Jsp|MYSQL等)、学习资料、JAVA源码、技术咨询 文末联系获取 感兴趣可以先收藏起来&#xff…