栈和队列

来源:互联网 发布:网络套路是什么意思 编辑:程序博客网 时间:2024/06/07 18:20

使用标准库的栈和队列时,先包含相关的头文件

#include<stack>

#include<queue>

using namespace std;

定义栈如下:

stack<int> s;

定义队列如下:

queue<int> q;

栈提供了如下的操作

[cpp] view plain copy
  1. s.empty()               如果栈为空返回true,否则返回false  
  2. s.size()                返回栈中元素的个数  
  3. s.pop()                 删除栈顶元素但不返回其值  
  4. s.top()                 返回栈顶的元素,但不删除该元素  
  5. s.push()                在栈顶压入新元素  


队列提供了下面的操作

[cpp] view plain copy
  1. q.empty()               如果队列为空返回true,否则返回false  
  2. q.size()                返回队列中元素的个数  
  3. q.pop()                 删除队列首元素但不返回其值  
  4. q.front()               返回队首元素的值,但不删除该元素  
  5. q.push()                在队尾压入新元素  
  6. q.back()                返回队列尾元素的值,但不删除该元素  

若给结构体struct node{

    int x,y;


    }赋值则形如 s.push(node{1,2});


输出则形如 node nn = s.top();
    printf("%d    %d\n",nn.x,nn.y);


原文章地址:http://blog.csdn.net/zhy_cheng/article/details/8090346

原创粉丝点击