zoukankan      html  css  js  c++  java
  • 第七讲 stack

    1.  栈(stack)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器作为底部结构,再将接口改变,使之符合栈的特性就可以了。因此实现非常的方便。下面就给出栈的函数列表和VS2008中栈的源代码,在STL中栈一共就5个常用操作函数(top()、push()、pop()、 size()、empty() 

    2.  stack中的操作

         stack<int> s;

         s.push(x)      无返回值,将元素x压栈

         s.pop();       退栈,无返回值

         s.top();       取栈顶元素,返回栈顶元素

         s.empty();     判断栈是否为空,如果是空,返回1,否则返回0

         s.size();      返回栈中元素的个数

    在栈中没有提供清空操作的函数,但是可以间接地实现清空栈,

       while(!s.empty())

       {    

              s.pop();

       }

     1 #include "stdafx.h"
     2 #include <iostream>
     3 #include <stack>
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     stack<int> iStack;
     9 
    10     for(int i = 0; i < 10; ++i)
    11     {
    12         iStack.push(i);
    13     }
    14 
    15     cout << iStack.size() << endl;
    16 
    17     while(!iStack.empty())
    18     {
    19         cout << iStack.top() << " ";
    20         iStack.pop();
    21     }
    22     cout << endl << iStack.size() << endl;
    23     return 0;
    24 }

  • 相关阅读:
    容器虚拟化之LXC(LinuX Container)
    Twemproxy+Keepalived+Redis
    Haproxy+Keepalived+Nginx
    Redis-sentinel集群
    Server2008r2 指定默认用户自动登录--注册表
    .Net Core应用框架Util介绍(二) 转
    .Net Core应用框架Util介绍(一)转
    一分钟教你知道乐观锁和悲观锁的区别
    设置DataTable行属性
    js中的内置对象
  • 原文地址:https://www.cnblogs.com/zenseven/p/3813813.html
Copyright © 2011-2022 走看看