stack的使用方法

C++中stack的使用方法

stack模板类(在头文件stack中声明)是一个适配器类,它给底层类(默认情况下为vector)提供了典型的栈接口。
stack模板的限制比vector多。它不仅不允许随机访问栈元素,甚至不允许遍历栈。它把使用限制在定义栈的基本操作上,即可以将压入推到栈顶、从栈顶弹出元素、查看栈顶的值、检查元素数目和测试栈是否为空。

1. 头文件包含

#include <stack>

2. 构造函数

1. //默认构造函数
   stack<int> first;//创建一个空的stack

2. //复制构造函数,使用已有的stack创建新的stack
   stack<int, list<int> >   s1;
   stack<int, list<int> >   s2(s1);//利用 s1 ,创建一个以双向链表为底层容器的空堆栈对象 s2 

   //使用已创建的deque创建stack
   deque<int> mydeque (3,100);          // 包含3个元素deque
   stack<int> second (mydeque);         // 使用deque初始化stack

   //创建vector为底层的stack,和使用已有stack初始化新的stacck
   std::stack<int,std::vector<int> > third;  // 使用vector创建的空stack
   std::stack<int,std::vector<int> > fourth (myvector);

3. 操作

语法:

  ==
  <=
  >=
  <
  >
  !=

所有的这些操作可以被用于堆栈. 相等指堆栈有相同的元素并有着相同的顺序。

4. 方法函数总览

1. empty()	堆栈为空则返回真

2. pop()	移除栈顶元素

3. push()	在栈顶增加元素

4. size()	返回栈中元素数目

5. top()	返回栈顶元素

5. 方法函数原型和简单解释

empty
语法:
bool empty();
如当前堆栈为空,empty() 函数 返回 true 否则返回false.

pop
语法:
void pop();
pop() 函数移除堆栈中最顶层元素。

push
语法:
void push( const TYPE &val );
push() 函数将 val 值压栈,使其成为栈顶的第一个元素。如:

    stack<int> s;
    for( int i=0; i < 10; i++ )
      s.push(i);

size
语法:
size_type size();
size() 函数返当前堆栈中的元素数目。如:

    stack<int> s;
    for( int i=0; i < 10; i++ )
      s.push(i);
    cout << "This stack has a size of " << s.size() << endl;

top
语法:
TYPE &top();
top() 函数返回对栈顶元素的引用. 举例,如下代码显现和清空一个堆栈。

    while( !s.empty() ) {
      cout << s.top() << " ";
      s.pop();
    }
  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值