首页 > 其他分享 >用队列实现栈

用队列实现栈

时间:2024-08-02 13:24:55浏览次数:13  
标签:typedef pq 队列 void Queue 实现 int QDataType

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(pushtoppop 和 empty)。

实现 MyStack 类:

  • void push(int x) 将元素 x 压入栈顶。
  • int pop() 移除并返回栈顶元素。
  • int top() 返回栈顶元素。
  • boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。

typedef int QDataType;
typedef struct QueueNode
{
	struct QueueNode* next;
	QDataType data;
}QNode;

typedef struct Queue
{
	QNode* phead;
	QNode* ptail;
	int size;
}Queue;

void QueueInit(Queue* pq);//初始化
void QueueDestroy(Queue* pq);//销毁
void QueuePush(Queue* pq, QDataType x);
void QueuePop(Queue* pq);
QDataType QueueFront(Queue* pq);
QDataType QueueBack(Queue* pq);
int QueueSize(Queue* pq);
bool QueueEmpty(Queue* pq);

void QueueInit(Queue* pq)
{
	assert(pq);

	pq->phead = pq->ptail = NULL

标签:typedef,pq,队列,void,Queue,实现,int,QDataType
From: https://blog.csdn.net/F_STQ/article/details/140865857

相关文章

  • 使用Redisson和分库分表技术实现海量请求注册功能
    文章目录1.海量注册的常见问题和解决方案概述2.布隆过滤器判断用户唯一性3.通过分布式锁和快速失败策略对同一时间的某一个账号进行锁定4.数据库唯一索引兜底5.通过水平分库水平分表配置分片规则6.通过自定义线程池和异步初始化配置线程池操作异步化1.海量......
  • 代码实现yolov3主干网络,可以直接运行
    目录 1.主干网head版本1 2.主干网head版本2 3.将网络层全部放入数组切片取输出 4.用循环写法将输入输出提取出来yaml文件 1.主干网head版本1importtorchfromtorchimportnnimporttorch.nn.functionalasFclassConvBnLeakRelu(nn.Module):de......
  • 基于Java+SpringBoot+Mysql+Vue实现的4S店保养与维修系统部分功能设计与实现八
    一、前言介绍:1.1项目摘要随着社会经济的不断发展,人们对汽车养护和维修的重视程度日益提高。然而,传统的汽车保养与维修服务存在诸多问题,如信息不对称、服务质量参差不齐等。这些问题不仅影响了消费者的服务体验,也制约了汽车后市场的健康发展。因此,为了解决这些问题,提升汽......
  • 基于Java+SpringBoot+Mysql+Vue实现的4S店保养与维修系统部分功能设计与实现九
    一、前言介绍:1.1项目摘要随着社会经济的不断发展,人们对汽车养护和维修的重视程度日益提高。然而,传统的汽车保养与维修服务存在诸多问题,如信息不对称、服务质量参差不齐等。这些问题不仅影响了消费者的服务体验,也制约了汽车后市场的健康发展。因此,为了解决这些问题,提升汽......
  • A086-基于SpringBoot+vue实现的在线小说阅读平台(源码+数据库+部署文档+包运行)
    (=======如需源码请查看博主个人信息介绍,可联系博主获取源码=============)开发语言和框架:JDK版本:确保使用JDK1.8,以支持SpringBoot的最新特性和性能优化。服务器:使用Tomcat7作为您的应用程序的服务器,提供可靠的运行环境和良好的性能。数据库:选择MySQL5.7作为......
  • A100-基于Springboot的网页时装购物系统的设计与实现(源码+论文+开题报告+PPT+包运行)
    3研究的内容目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的时装购物系统的信息管理软件仍没有得到大多数人的了解或认可。本选题则旨在通......
  • 线性表之--栈和队列
    1. 栈的表示和实现1.1栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(LastInFirstOut)的原则。压栈:栈的插入操作叫做进栈/压......
  • [0367]基于JAVA的儿童成长档案智慧管理系统的设计与实现
    毕业设计(论文)开题报告表姓名学院专业班级题目基于JAVA的儿童成长档案智慧管理系统的设计与实现指导老师(一)选题的背景和意义背景:随着信息技术的快速发展和应用普及,社会对教育信息化、个性化以及全面性发展提出了更高的要求。尤其在儿童早期教育与健......
  • [0362]基于JAVA的储能EMS能量智慧管理系统的设计与实现
    毕业设计(论文)开题报告表姓名学院专业班级题目基于JAVA的储能EMS能量智慧管理系统的设计与实现指导老师(一)选题的背景和意义在当前全球能源结构转型和可持续发展战略的大背景下,储能技术作为电力系统灵活性的重要支撑手段,其智慧化、精细化管理已成为提......
  • [0359]基于JAVA的健身房人脸识别智慧管理系统的设计与实现
    毕业设计(论文)开题报告表姓名学院专业班级题目基于JAVA的健身房人脸识别智慧管理系统的设计与实现指导老师(一)选题的背景和意义选题背景与意义:随着我国全民健身意识的提高和生活质量的改善,健身房作为公众参与体育锻炼的重要场所,其运营管理和服务水平......