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栈

栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶...

关于STL中的堆栈Stack

堆栈是一个线性表,插入和删除只在表的一端进行。这一端称为栈顶(Stack Top),另一端则为栈底(Stack Bottom)。堆栈的元素插入称为入栈,元素的删除称为出栈。由于元素的入栈和出栈总在栈顶...

详解括号匹配问题(STL stack)

1. 括号匹配的四种可能性: ①左右括号配对次序不正确 ②右括号多于左括号 ③左括号多于右括号 ④左右括号匹配正确 2. 算法思想: 1.顺序扫描算数表达式(表现为一个字符串),当遇到三种类型的左括...

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

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

STL 笔记(三) 容器适配器 stack、queue、priority_queue

栈 stack 是一种先进后出的(First In Last Out, FILO)的数据结构。在 STL中,其底层容器默认使用的是 deque, 也可以自己指定用 vector 或 list容器,然后...

STL源码剖析——容器配接器之stack

前言 stack是一种“先进先出

STL学习笔记之容器--stack

堆栈是一个线性表,插入和删除只在表的一端进行。这一端称为栈顶(Stack Top),另一端则为栈底(Stack Bottom)。堆栈的元素插入称为入栈,元素的删除称为出栈。由于元素的入栈和出栈总在栈顶...

STL系列之二 stack栈

栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶...

C++ STL学习之stack。

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

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

The Stack class本来我是打算把vector作为第一个总结的部分的。但是我们今天的数据结构老师刚刚讲到了stack(栈)这么一个结构体,对其内部的方法有了更为深入的了解,所以我就先把sta...
  • redRnt
  • redRnt
  • 2017年03月22日 21:57
  • 367
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STL stack
举报原因:
原因补充:

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