c++语言之stack的基本使用

解释:

   如果用一种东西去形容他,那就是一头封闭的,一头开放的单行道。里面想要出来,就必须你后面进去的人先出来。里面容纳的人数,就是空间大小数目(maxsize)。

方法:stack<typer> mystack;(定义)

  void push(typer);   该方法就是添加一个typer类型的入栈。

  void pop();            该方法就是在栈中出一个typer类型的元素。但不返回,该元素,只是出栈而已。

  typer top();           该方法就是返回栈的头顶元素。

  boolean empty();  该方法就是返回栈为不为空,空就是true,不空就是false;

  void size();            该方法就是返回一个数字,表示里面的栈的元素的个数。

详细一点的解释:

通过一个代码解释一下所以的方法吧!

题目:

输入各个命令,它们对应的格式如下: 
压入堆栈:push a,a代表压入堆栈的元素,这里push和元素之间用空格分隔。
清空堆栈:clear
获取栈顶元素:top
弹出栈顶元素:pop
当输入的命令为exit时,程序结束。
当输入的命令为pop时,请输出弹出的元素值。
当输入的命令是top时,请输出当前栈顶元素值。
注意,如果没有满足的元素,请输出None。
代码:

#include <iostream>
#include <stack>
using namespace std;


int main()
{
    stack<int> mystack;
    string str;
    while (cin>>str)
    {
        if (str == "exit")
            break;
        else if (str == "pop")
        {
            if (mystack.size() == 0)
                cout<<"None"<<endl;
            else
            {
                int k = mystack.top();
                mystack.pop();
                cout<<k<<endl;
            }
        }
        else if (str == "top")
        {
            if (mystack.size() == 0)
                cout<<"None"<<endl;
            else
                cout<<mystack.top()<<endl;
        }
        else if (str == "clear")
        {
            while(!mystack.empty())
                mystack.pop();
        }
        else if (str == "push")
        {
            int k;
            cin>>k;
            mystack.push(k);
        }
    }
    return 0;
}
该代码详细的介绍了方法的使用。每一个的方法使用,比较综合。可以借鉴一下。

以上就是stack在c++中的基本使用规则。

posted @ 2018-01-28 22:08  让你一生残梦  阅读(575)  评论(0编辑  收藏  举报