栈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

最新文章

  1. 用flashfxp做ftp镜像同步
  2. virtualenv python虚拟环境搭建
  3. hive优化之------控制hive任务中的map数和reduce数
  4. 2.14. 删除托管对象(Core Data 应用程序实践指南)
  5. 改变UITableView选中行高亮的颜色
  6. apollo1.7.1初探(一)安装apollo、创建并启动broker
  7. CVTE前端一面
  8. doc命令大全(详细版)
  9. java的引用
  10. 代码中特殊的注释技术——TODO、FIXME和XXX的用处(转)
  11. iOS开发笔记(Swift)-针对Swift调用PPiFlatSegmentedControl项目的一些修改
  12. GUI常用对象介绍3
  13. php错误日志
  14. Tensorflow设置显存自适应,显存比例
  15. Perl中的输入输出流(三)
  16. java多线程 -- 线程八锁
  17. EF操作增删改查
  18. Redis学习笔记之Linux下Redis的安装和部署
  19. [Swift实际操作]八、实用进阶-(1)Swift语言中的两种单例模式实际操作
  20. uitextFiled字数输入限制

热门文章

  1. org.apache.commons.lang3 的随机数生成
  2. PHP把2个二维数组合并一个二维数组
  3. 用window的onload事件,窗体加载完毕的时候
  4. 导出CSV表格数据
  5. 【LeetCode】258. Add Digits
  6. 【Android Developers Training】 88. 使用备份API
  7. 如何在自己的网页上插入一个超链接,发起临时qq会话
  8. ==,=和equals()区别
  9. call, apply,bind 方法解析
  10. 从Java熟练到Android入门