码迷,mamicode.com
首页 > 其他好文 > 详细

第七讲 stack

时间:2014-06-30 13:53:53      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   数据   os   代码   

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();

   }

#include "stdafx.h"
#include <iostream>
#include <stack>
using namespace std;

int main()
{
    stack<int> iStack;

    for(int i = 0; i < 10; ++i)
    {
        iStack.push(i);
    }

    cout << iStack.size() << endl;

    while(!iStack.empty())
    {
        cout << iStack.top() << " ";
        iStack.pop();
    }
    cout << endl << iStack.size() << endl;
    return 0;
}

第七讲 stack,布布扣,bubuko.com

第七讲 stack

标签:style   blog   color   数据   os   代码   

原文地址:http://www.cnblogs.com/zenseven/p/3813813.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!