STL stack

原创 2016年03月28日 22:43:12

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/

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

关于STL中stack的实现的讨论

关于STL中stack的实现的讨论文章讨论了 为什么大多数STL的stack的实现中,对于内部的容器默认选择deque容器;并且给出了几个自己按不同想法实现的stack;并进行了简单的性能比较测试; ...

STL之stack

栈,LIFO的数据结构。template <typename T, typename Container = deque > class stack; stack是一个容器适配器,数据从容器的一端插入...

STL Queue与Stack用法

1、stack stack 模板类的定义在头文件中。 stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要 的,在不指定容器类型时,默认的容器类型为deque。...

C++ STL学习之stack。

stack 介绍 栈是一种容器适配器,特别为后入先出而设计的一种(LIFO ),那种数据被插入,然后再容器末端取出 栈实现了容器适配器,这是用了一个封装了的类作为他的特定容器,提供了一组成...

C++抽象编程——STL(2)——stack类

The Stack class本来我是打算把vector作为第一个总结的部分的。但是我们今天的数据结构老师刚刚讲到了stack(栈)这么一个结构体,对其内部的方法有了更为深入的了解,所以我就先把sta...

STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)

向量(vector)  连续存储的元素 Vectorc; c.back()    传回最后一个数据,不检查这个数据是否存在。 c.clear()     移除容器中所有数据。 ...

UVA12096,STL stack和set,Map的综合运用

&emsp;紫书的STL介绍,比较抽象,教我们怎么表示一些抽象的集合并进行一些简单的操作,其中Set_Set_ID和vector Set_Set;是关键,然后关于set_union,set_inter...

c++ stl栈容器stack的pop(),push()等用法介绍及头文件

c++ stl栈stack介绍 C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。 c++ stl栈stack的头文...

C++ STL--stack/queue 的使用方法

转自:http://blog.sina.com.cn/s/blog_7dc67d520100t2fb.html 1、stack stack 模板类的定义在头文件中。 stack 模板类需要两个模...

STL stack栈

原文地址: http://blog.csdn.net/morewindows/article/details/6950881 栈(statck)这种数据结构在计算机中是相当出名...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)