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

devtools/2024/9/29 14:26:08/

代码:

#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;elserear->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.ppmy.cn/devtools/118727.html

相关文章

Spring Cloud 工程搭建服务注册_服务发现

文章目录 Spring Cloud 工程搭建服务拆分示例数据库工程搭建构建父子工程创建父工程创建子项目完成两个接口 远程调用实现添加ProductInfo字段定义RestTemplate修改OrderService 服务注册/服务发现 - Eureka注册中心CAP理论常见的注册中心ZookeeperEurekaNacos Eureka 介绍搭建…

git 查看已经commit但是还没有push的所有文件变动内容

你当前在dev分支, 查看dev本地分支和远程分支的差异 git diff origin/dev HEAD --name-only找到对应的文件后利用IDE, Compare With Branch查看 或者找到文件的最近提交记录作比较 git diff d87983d3..ebe72b39显示所有未推送的提交 git log origin/main..HEAD显示最后一次推…

el-table添加fixed后错位问题

1 方案1 return {isShow:false, }mounted() {this.isShowtrue},watch: {$route(newRoute) {this.monitoredRoute newRoute; // 将新的路由信息保存到组件的monitoredRoute属性中// 执行其他操作或调用其他方法},//或$route(newRoute) {this.monitoredRoute newRoute; // 将新…

RT-DETR改进策略:BackBone改进|PoolFormer赋能RT-DETR,视觉检测性能显著提升的创新尝试

摘要 在深度学习的广阔领域中,目标检测作为计算机视觉的基石任务之一,始终吸引着研究者的广泛关注。近期,我们大胆尝试将前沿的PoolFormer主干网络引入经典的目标检测框架RT-DETR中,这一创新性融合不仅为RT-DETR注入了新的活力,更在检测精度与效率上实现了双重飞跃,成为…

个人健康管理小程序(源码+参考文档+定制)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

使用jaxb来生成多层嵌套xml

问题 需要生成多层嵌套xml&#xff0c;类似如下内容&#xff1a; <A><B><C><!-- C类的字段 --></C><C><!-- 另一个C类的字段 --></C></B> </A>解决 C.java import jakarta.xml.bind.annotation.*; import lom…

FPGA实现PCIE视频采集转HDMI输出,基于XDMA中断架构,提供3套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图电脑端视频QT上位机XDMA配置及使用XDMA中断模块FDMA图像缓存Native视频时序生成RGB转HDMI输出模块Windows版本XDMA驱动安装Linux版本XDMA驱动安装工程源…

C++ Qt 之 QPushButton 好看的样式效果实践

文章目录 1.前序2.效果演示3.代码如下 1.前序 启发于 edge 更新 web 页面&#xff0c;觉得人家做的体验挺好 决定在Qt实现&#xff0c;方便以后使用 2.效果演示 特性介绍&#xff1a; 默认蓝色鼠标移入 渐变色&#xff0c;鼠标变为小手鼠标移出 恢复蓝色&#xff0c;鼠标恢…