关闭

STL stack

91人阅读 评论(0) 收藏 举报
分类:

stack栈是一种先进后出的数据结构,记得大学时期的计算器就是使用栈的数据结构实现,当然这种数据结构使用场景居多。

Constructor stack

std::stack<int> first;
std::stack<int> second(first);
std::stack<int, std;:vector<int>> third; //使用vector初始化stack

压栈,出栈

stack压栈函数是push(),而出栈是pop(),pop()把栈顶元素弹出,不在留在容器中。如果只想获取值那么可以通过top()函数得到栈顶元素,注意top()返回的是引用。所以可以修改它。

#include <iostream>
#include <stack>
#include <vector>
#include <string>

//******************************************************************
//FUNCTION:
void addStackElements(std::stack<int>& vStack)
{
    vStack.push(1);
    vStack.push(2);
}

//******************************************************************
//FUNCTION:
void removeStackElements(std::stack<int>& vStack)
{
    while (!vStack.empty())
    {
        vStack.pop();
    }
}

int main()
{
    std::stack<int> first;
    std::stack<int> second(first);
    std::vector<int> temp(2, 100);
    std::stack<int, std::vector<int>> third(temp); //使用vector初始化stack

    addStackElements(first);
    int& top = first.top();
    top += 5;
    removeStackElements(first);

    return 1;
}

【参考资料】
【1】http://www.cse.ust.hk/~quan/comp2012/codes/6-STLString/sq_ref.pdf
【2】http://www.cplusplus.com/reference/stack/stack/

0
0

猜你在找
深度学习基础与TensorFlow实践
【在线峰会】前端开发重点难点技术剖析与创新实践
【在线峰会】一天掌握物联网全栈开发之道
【在线峰会】如何高质高效的进行Android技术开发
机器学习40天精英计划
Python数据挖掘与分析速成班
微信小程序开发实战
JFinal极速开发企业实战
备战2017软考 系统集成项目管理工程师 学习套餐
Python大型网络爬虫项目开发实战(全套)
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5316次
    • 积分:305
    • 等级:
    • 排名:千里之外
    • 原创:23篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类