STL之stack容器

1. stack容器基本概念

     1.1  stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口,形式如图所示。

stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法可以

存取stack的其他元素。换言之,stack不允许有遍历行为。

       有元素推入栈的操作称为:push,将元素推出stack的操作称为pop。

                    

  1.2  stack没有迭代器

  Stack所有元素的进出都必须符合”先进后出”的条件,只有stack顶端的元素,才有机会被外界取用。

Stack不提供遍历功能,也不提供迭代器。

2. stack常用API

  2.1 stack构造函数

stack<T> stkT;//stack采用模板类实现, stack对象的默认构造形式: 
stack(const stack &stk);//拷贝构造函数

  2.2 stack赋值操作

stack& operator=(const stack &stk);//重载等号操作符

  2.3 stack数据存取操作

push(elem);//向栈顶添加元素
pop();//从栈顶移除第一个元素
top();//返回栈顶元素

  2.4 stack大小操作

empty();//判断堆栈是否为空
size();//返回堆栈的大小

  代码示例:

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<stack>

using namespace std;


void test()
{
    stack<int> v;
    v.push(10);
    v.push(20);
    v.push(30);
    v.push(40);

    while (v.empty()!=true)
    {
        //v.emplace();
        cout << v.top() << endl;
        
        v.pop();
        
    }

}

int main(){


    test();
    system("pause");
    return EXIT_SUCCESS;
}

 

 

 

 

 

       

posted @ 2020-06-15 10:10  AI_ON  阅读(75)  评论(0)    收藏  举报