zoukankan      html  css  js  c++  java
  • stack容器

    一.摘要

      栈,先进后出,后进先出~

    二.函数原型

    构造函数:

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

    赋值操作:

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

    数据存取:

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

    大小操作:

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

    三.示例代码

    代码:

     1 /*stack容器*/
     2 #include<iostream>
     3 #include<stack>
     4 using namespace std;
     5 void printStack(stack<int>&stk) {
     6     while (!stk.empty()) {//empty(); //判断堆栈是否为空
     7         cout <<  stk.top() << " ";//top(); //返回栈顶元素
     8         stk.pop();//pop(); //从栈顶移除第一个元素
     9     }
    10 }
    11 int main() {
    12     stack<int>stk1;//stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
    13     for (int i = 0; i < 10; i++) {
    14         stk1.push(i);//push(elem); //向栈顶添加元素
    15     }
    16     stack<int>stk2(stk1); //stack(const stack &stk); //拷贝构造函数
    17     stack<int>stk3;//stack& operator=(const stack &stk); //重载等号操作符
    18     stk3 = stk2;
    19     cout << "stk1:";
    20     printStack(stk1);
    21     cout << endl << "stk2:";
    22     printStack(stk2);
    23     cout << endl << "stk3的大小(出栈前):" << stk3.size();
    24     cout << endl << "stk3:";
    25     printStack(stk3);
    26     cout << endl << "stk3的大小(出栈后):" << stk3.size() << endl;//size(); //返回栈的大小
    27     system("pause");
    28     return 0;
    29 }
    stack容器

    结果:

     四.总结

      操作该容器比较简单,相对于其他容器的操作比较少,却也是非常常用的容器。

  • 相关阅读:
    PHP中的__clone()
    如何使用windows的计划任务?计划任务?
    (mysql)触发器、事件、事务、函数
    mysql子查询 exists,not exists,all和any
    MySQL 获得当前日期时间时间戳 函数
    JavaScript从数组中删除指定值元素的方法
    monorepo仓库管理方式探秘
    浏览器和Node 中的Event Loop
    Promise原理探究及实现
    yarn or npm 版本固化如何选择
  • 原文地址:https://www.cnblogs.com/chasemeng/p/12862376.html
Copyright © 2011-2022 走看看