栈的应用(基础讲解)
来源:互联网 发布:php程序设计案例教程 编辑:程序博客网 时间:2024/05/29 18:29
STACK
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
栈可用数组模拟:如图所示
在STL中栈一共就5个常用操作函数(top()、push()、pop()、 size()、empty() )
stack 头文件是:#include<stack>
还要加:using namespace std;
stack<int>S-----------------------------栈定义
S.top();-----------------------------------返回栈顶数据
S.push(elem);--------------------------在栈顶增加elem数据
S.pop();-----------------------------------弹出栈顶数据
S.empty()-------------------------------判断栈是否为空
S.size()-----------------------------------返回栈中数据的个数
代码示例 :
#include<cstdio>#include<stack> //栈头文件 using namespace std; //要加这一句 int main(){stack<int>S; //栈定义 一个整形的栈 if(S.empty()) // 判断栈是否为空 printf("空栈\n");S.push(1); //在栈顶增加elem数据 S.push(2);S.push(3);int n=S.top(); //返回栈顶数据printf("栈顶数据: %d\n",n);if(S.empty()) // 判断栈是否为空 printf("空栈\n");elseprintf("非空栈\n");int len=S.size(); //返回栈中数据的个数printf("栈长度: %d\n",len);S.pop(); //弹出(删除)栈顶数据n=S.top(); //返回栈顶数据printf("栈顶数据: %d\n",n);S.pop(); //弹出(删除)栈顶数据n=S.top(); //返回栈顶数据printf("栈顶数据: %d\n",n);return 0; }
0 0
- 栈的应用(基础讲解)
- php Trait 基础应用讲解
- LUA的基础讲解
- 弹性布局基础讲解与高效应用
- 弹性布局基础讲解与高效应用
- 弹性布局基础讲解与高效应用
- 弹性布局基础讲解与高效应用
- 弹性布局基础讲解与高效应用
- 弹性布局基础讲解与高效应用
- Block 讲解(基础)
- 数论基础的补充讲解
- python3的scrapy基础讲解
- HTML5的基础讲解2.2
- 链表的实战讲解(综合以前的基础)
- 01 目录结构、基础命令的讲解、管道和重定向(讲解邮件的发送)
- C#回调函数的简单讲解与应用例子(最简单讲解,大神绕道)
- 高级指针的概念和应用完整版(图文讲解)
- SYNTH (in J2SE5.0)的基础讲解 --翻译篇
- iOS开发之UILabel
- Linux下opennms编译
- 0长度数组
- JS之dom操作getAttribute()方法
- CSS实现垂直居中的5种方法
- 栈的应用(基础讲解)
- String.Format(C#)
- 【Week6】淋湿的纸
- HTML5 中 div section article 的区别
- Ubuntu终端下连接vpn
- java4Android(21)类集框架->Collection and Iterator(hasNext方法和next方法)
- 【经典算法】:关于中文在计算机存储格式的算法实现
- jQuery.Deferred(func)总结
- STM32的串口烧录