C++ STL之stack

Stack

栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。栈是只能在某一端插入和删除的特殊线性表。用桶堆积物品,先堆进来的压在底下,随后一件一件往上堆。取走时,只能从上面一件一件取。读和取都在顶部进行,底部一般是不动的。栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一端称栈底。插入一般称为进栈,删除则称为退栈。 栈也称为后进先出表。

底层结构:为deque

deque介绍

  • deque(双端队列):是一个双开口的“连续空间”的数据结构
  • 双开口:可以在首尾两端进行插入和删除操作
  • 连续空间:deque并不是真正连续的,而是由一段段连续的小空间组合而成的
  • deque类似于一个动态的二维数组

成员函数:

empty测试 stack 是否为空。空为true,反之false
popstack 的顶部删除元素。void pop()
push将元素添加到 stack 顶部。void push(value)
size返回 stack 中的元素数量。int size()
top返回对 stack 顶部元素的引用。int top()

示例:

#include<stack>

using namespace std;

int main(){
        stack<int> s;
        cout << s.empty() << endl;        

        s.push(1);
        s.push(2);
        cout << s.empty() << endl;
        cout << s.size() << endl;
        cout << s.top() << endl;

        s.pop();
        cout << s.empty() << endl;
        cout << s.size() << endl;
        cout << s.top() << endl;       

/*
1
0
2
2
0
1
1

请按任意键继续. . .
*/
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值