• C++ STL 之 stack


    stack 是一种先进后出(first in last out,FILO)的数据结构,它只有一个出口,stack 只允许在栈顶新增元素,移除元素,获得顶端元素,但是除了顶端之外,其他地方不允许存取
    元素,只有栈顶元素可以被外界使用,也就是说 stack 不具有遍历行为,没有迭代器
    特性总结: 栈不能遍历,不支持随机存取,只能通过 top 从栈顶获取和删除元素.
     1 #include <iostream>
     2 #include <stack>
     3 using namespace std;
     4 
     5 // stack 构造函数
     6 // stack<T> stkT;//stack 采用模板类实现, stack 对象的默认构造形式:
     7 // stack(const stack &stk);//拷贝构造函数
     8  
     9 // stack 赋值操作
    10 // stack& operator=(const stack &stk);//重载等号操作符
    11 
    12 // stack 数据存取操作
    13 // push(elem);//向栈顶添加元素
    14 // pop();//从栈顶移除第一个元素
    15 // top();//返回栈顶元素
    16 
    17 // stack 大小操作
    18 // empty();//判断堆栈是否为空
    19 // size();//返回堆栈的大小
    20 
    21 void test01()
    22 {
    23     // 初始化
    24     stack<int> s1;
    25     stack<int> s2(s1);
    26     // stack 操作
    27     s1.push(10);
    28     s1.push(20);
    29     s1.push(30);
    30     s1.push(100);
    31     cout << "栈顶元素:" << s1.top() << endl;
    32     while (!s1.empty())
    33     {
    34         cout << s1.top() << " ";
    35         s1.pop();
    36     }
    37     cout << endl;
    38     cout << "size: " << s1.size() << endl;
    39     cout << "------------------" << endl;
    40 }
    41 
    42 int main()
    43 {
    44     test01();
    45     getchar();
    46     return 0;
    47 }
  • 相关阅读:
    集合选数
    二分答案入门乱讲
    浅谈搜索剪枝
    数位DP
    RMQ问题与ST算法
    计数排序与基数排序
    主席树/函数式线段树/可持久化线段树
    树链剖分
    LCA问题
    树的直径、树的重心与树的点分治
  • 原文地址:https://www.cnblogs.com/duxie/p/10902086.html
Copyright © 2020-2023  润新知