栈stack

-先入后出FILO

栈可以理解为一个坑,先掉坑里的被压在下面,等上面的走了才能出来

头文件                <stack>

入栈                 push(某东西);

栈顶元素出栈             pop();

是否为空               empty();  空返回1  非空返回0

大小                 size();  返回元素个数

查看栈顶(只是查看,下面的也一样)  top();  返回栈顶元素  //如果栈是空的再看栈顶元素就要出事咯

队列

-先入先出FIFO

头文件      <queue>

入队       push(某东西);

出队       pop();

查看队首     front();  返回队首元素

查看队尾     back();  返回队尾元素

是否为空     empty();  空返回1  非空返回0

大小       size();  返回元素个数

e.g.

 #include<iostream>
#include<stdio.h>
#include<stack>
#include<queue>
using namespace std;
struct node
{
int a, b;
/*bool operator <(const node&x)const
{
if (a == x.a)return b < x.b;
return a < x.a;
}*/
};
int main()
{
stack<int>sa; //声明一个stack <栈中存储的数据类型> 变量名;
stack<node>sb; //也可以放结构体
queue<int>q;
for (int i = ; i < ; i++)
{
sa.push(i);
q.push(i);
}
printf("size of the stack sa is %d\n", sa.size());
printf("size of the queue q is %d\n", q.size());
cout << "elements in sa are:\n";
while (!sa.empty()) //若当前容器非空,则输出第一个,再将第一个删去
{
cout << sa.top()<<endl;
sa.pop();
}
cout << "elements in q are:\n";
while (!q.empty())
{
cout << q.front()<<endl;
q.pop();
}
}

输出结果:

size of the stack sa is 10
size of the queue q is 10
elements in sa are:
9
8
7
6
5
4
3
2
1
0
elements in q are:
0
1
2
3
4
5
6
7
8
9

c++STL(栈、队列)的更多相关文章

  1. hdu1702 ACboy needs your help again![简单STL 栈 队列]

    目录 题目地址 题干 代码和解释 参考 题目地址 hdu1702 题干 代码和解释 本题很简单,只要掌握STL stack和STL vector的语法即可作答.记录本题是为了记录STL vector的 ...

  2. 从零开始写STL—栈和队列

    从零开始写STL-栈和队列 适配器模式 意图:将一个类的接口转换成客户希望的另外一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 主要解决:主要解决在软件系统中,常常要将 ...

  3. C++ STL 栈和队列

    栈和队列 头文件 #include<queue> // 队列 #include<stack> //栈 定义方式 //参数就是数据类型 stack<int> s; q ...

  4. java 集合 Connection 栈 队列 及一些常用

    集合家族图 ---|Collection: 单列集合 ---|List: 有存储顺序 , 可重复 ---|ArrayList: 数组实现 , 查找快 , 增删慢 ---|LinkedList: 链表实 ...

  5. STL中队列(queue)的使用方法

    STL 中队列的使用(queue) 基本操作: push(x) 将x压入队列的末端 pop() 弹出队列的第一个元素(队顶元素),注意此函数并不返回任何值 front() 返回第一个元素(队顶元素) ...

  6. Java 容器之 Connection栈队列及一些常用

    集合家族图 ---|Collection: 单列集合 ---|List: 有存储顺序 , 可重复 ---|ArrayList: 数组实现 , 查找快 , 增删慢 ---|LinkedList: 链表实 ...

  7. java面向对象的栈 队列 优先级队列的比较

    栈 队列 有序队列数据结构的生命周期比那些数据库类型的结构(比如链表,树)要短得多.在程序操作执行期间他们才被创建,通常用他们去执行某项特殊的任务:当完成任务之后,他们就会被销毁.这三个数据结构还有一 ...

  8. hdu1237 简单计算器[STL 栈]

    目录 题目地址 题干 代码和解释 参考 题目地址 hdu1237 题干 代码和解释 解本题时使用了STL 栈,要记得使用#include<stack>. 解本题时使用了isdigit()函 ...

  9. C++实现一个简单的双栈队列

    双栈队列的原理是用两个栈结构模拟一个队列, 一个栈A模拟队尾, 入队的元素全部压入此栈, 另一个栈B模拟队首, 出队时将栈A的元素弹入栈B, 将栈B的栈顶元素弹出 此结构类似汉诺塔, 非常经典, 这里 ...

  10. 栈&队列&并查集&哈希表(julyedu网课整理)

    date: 2018-11-25 08:31:30 updated: 2018-11-25 08:31:30 栈&队列&并查集&哈希表(julyedu网课整理) 栈和队列 1. ...

随机推荐

  1. chrome 浏览器最小字体为12px 的解决办法

    http://banri.me/web/webkit-text-size-adjust.html 对div进行缩放 12*0,75 = 9 px -webkit-transform: scale(0. ...

  2. LogMiner的使用

    LogMiner是用于Oracle日志挖掘的利器. 百科解释: LogMiner 是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle 重做日志文件(归 ...

  3. eclipse快捷键 自己使用简单总结

    ctrl+shift+O 清理代码引用的多余类 ctrl+shift+R 打开指定文件

  4. linux下安装telnet

    1:yum install telnet-server 2:编辑设置 /etc/xinetd.d/telnet ,将disable= yes设置成disable= no 3:service  xine ...

  5. php倒计时防刷新

    <?php //php的时间是以秒算.js的时间以毫秒算 date_default_timezone_set("Asia/Hong_Kong");//地区 //配置每天的活动 ...

  6. 开源搜索引擎abelkhan

    发起一个开源项目http://www.abelkhan.com/ 目前而言,已经用python编写了一个网络爬虫抓取页面,和一个简单的前端 网络爬虫,已经有很多高手写过,我基本上奉行了拿来主义, 得益 ...

  7. Example006为弹出窗口加入关闭按钮

    <!-- 实例006为弹出的窗口加入关闭按钮 --> <head> <meta charset="UTF-8"> </head> & ...

  8. 用CSS3实现无限循环的无缝滚动

    有时候在页面的某个模块中,需要无限循环的滚动一些消息.那么如果我们用js实现无缝衔接滚动的思路是什么呢(比如我们这个模块是向上滚动的)? 克隆A一份完全一样的数据B放在原数据A的后面: 使用setIn ...

  9. C# 模拟跑马灯效果(2种)

    #region 跑马灯效果方法 /// <summary> /// 文字进入左侧后从右侧出来 /// </summary> private void LabelRun() { ...

  10. Unity应用架构设计(12)——AOP思想的实践

    想象一下,当程序所有的业务逻辑都完成的时候,你可能还来不及喘口气,紧张的测试即将来临.你的Boss告诉你,虽然程序没问题,但某些方法为什么执行这么慢,性能堪忧.领会了Boss的意图之后,漫长的排查问题 ...