首页 > 代码库 > 第七讲 stack
第七讲 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();
}
#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;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。