C++中 栈和队列的使用方法

C++中 栈和队列已经被封装好,我们使用时只需要按照如下步骤调用即可。

1.包含相关的头文件

包含栈头文件:

#include<stack>

包含队列头文件:

#include<queue>

2.作相关定义

定义栈如下:

stack<int> stk;

定义队列如下:

queue<int> q;

3.使用相关操作

栈提供了如下的操作:

s.empty() 如果栈为空返回true,否则返回false
s.size() 返回栈中元素的个数
s.pop() 删除栈顶元素但不返回其值
s.top() 返回栈顶的元素,但不删除该元素
s.push() 在栈顶压入新元素

队列提供了下面的操作:

q.empty() 如果队列为空返回true,否则返回false
q.size() 返回队列中元素的个数
q.pop() 删除队列首元素但不返回其值
q.front() 返回队首元素的值,但不删除该元素
q.push() 在队尾压入新元素
q.back() 返回队列尾元素的值,但不删除该元素

参考文章:C++栈和队列  https://blog.csdn.net/zhy_cheng/article/details/8090346

延伸阅读:C++栈的用法及栈的实现  https://blog.csdn.net/qq_20366761/article/details/70053813

原文地址:https://www.cnblogs.com/qujunhui/p/10360628.html

时间: 2024-11-10 09:33:28

C++中 栈和队列的使用方法的相关文章

STL中栈和队列的使用方法

 STL 中优先队列的使用方法(priority_queu) 基本操作: empty() 如果队列为空返回真 pop() 删除对顶元素 push() 加入一个元素 size() 返回优先队列中拥有的元素个数 top() 返回优先队列对顶元素 在默认的优先队列中,优先级高的先出队.在默认的int型中先出队的为较大的数. 使用方法: 头文件: #include <queue> 声明方式: 1.普通方法: priority_queue<int>q; //通过操作,按照元素从大到小的顺

栈和队列的基本方法

使用栈和队列, 1 #include<stack> 2 #include<queue> 定义int型的栈和队列如下 1 stack<int> s; 2 queue<int> q; 栈的基本方法: 1 s.empty() 如果栈为空返回true,否则返回false 2 s.size() 返回栈中元素的个数 3 s.pop() 删除栈顶元素但不返回其值 4 s.top() 返回栈顶的元素,但不删除该元素 5 s.push() 在栈顶压入新元素 队列的基本方法:

(hdu step 8.1.1)ACboy needs your help again!(STL中栈和队列的基本使用)

题目: ACboy needs your help again! Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 73 Accepted Submission(s): 57   Problem Description ACboy was kidnapped!! he miss his mother very much and is very

c++中栈与队列的实现

栈:具有先进后出的特点,且只能在一端进行插入与删除的操作,栈的实现如下所示 struct truetype { bool get() { return true; } }; struct falsetype { bool get() { return false; } }; template<class T> struct typetraits { typedef falsetype  isnpodtype; }; template <> struct typetraits<

python中栈和队列简单学习

栈#模拟栈结构#栈有先后顺序的.后进的先取出,先进的最后取出stack=[] #压栈(向栈里存数据)stack.append("a")print(stack)stack.append("b")print(stack) #出栈(在栈里取数据)res1=stack.pop()print("res1=",res1)print(stack)res2 =stack.pop()print("res2=",res2)print(stack)

内存数据中栈与队列的区别

关于栈和队列随想

1 在算法中栈和队列的地位 在算法中,栈和队列就是一个缓存,缓存那些对自己还有用的元素,还不用扔掉的元素. 比如对图的深度优先搜索,搜到某一层时,还只是访问了该元素的一个邻接节点时,是不能随便扔出栈的,因为可能它还有其它的邻接节点,首先它自己肯定是已经被访问了的,但是如果把它扔了,它的其它邻接节点也就被扔了,所以,只有当它的所有的邻接节点也被访问了的时候才可以把它扔掉. 2 对图进行遍历的时候,如何标记栈中的元素已经被访问的邻接节点和未被访问的邻接节点 图中的每个节点都是有一个label的,并且

javascript中的栈、队列。

                       javascript中的栈.队列 栈方法     栈是一种LIFO(后进先出)的数据结构,在js中实现只需用到2个函数 push()  接受参数并将其放置数组尾,并返回修改后的数组长度. pop()  移除数组尾的最后一项,并返回移除项的值. 事例: var colors = new Array();var count = colors.push("red","green"); count = colors.push(&

浅析栈与队列在java中的基本应用

一.前提 摘自java程序设计教程(华盛顿大学/斯坦福大学著,陈志等译)-机械工业出版社 1.1栈/队列基础 像线性表一样,栈与队列中存储一组有序的值.这类数据结构至少需要支持下面几种操作: 将值放入数据结构中(添加操作): 将值从数据结构中取出(删除操作): 检查数据结构中是否还有值(判断数据结构是否为空). 栈与队列很相似:都是以某种特定的顺序存储元素序列.栈是一种先进先出/LIFO(LAST IN FIRST OUT)的结构,也就是最后保存到结构中的元素会最先被访问.队列则是一种先进先出/