数据结构与算法-栈
来源:互联网 发布:合肥房地产销售数据 编辑:程序博客网 时间:2024/05/22 14:43
定义:栈是一种特殊的有序表,因为其插入和删除都在一端进行。
栈是一种先进后出的结构,被操作的元素被称之为栈顶,栈在任何时候被操作的元素只有一个那就是栈顶元素。
实现:
1、数组
2、链表
栈的操作
isEmpty():判断栈是否为空push(stackItem):入栈pop():出栈
需要记录的数据
1、栈顶元素:在此关于栈顶元素有的认为是就是栈最上面的元素,也有的认为是栈顶元素位置的下一个位置,其实没有绝对的正确的说法,看自己的理解吧,怎么样理解都是可以的。
2、栈的大小
栈的实现(此处用数组进行实现)
定义头文件 stack.h
class stack(){ private: int size;//此处top的初始值不同(0或者-1),对应的后续的入栈出栈操作也会不同 int top = -1; int* a; public: stack(int size); ~stack(); void push(int item); int pop(); int getSize(); bool isStackEmpty(); bool isStackFull();}
栈的实现代码:stack.cpp
#include<stack.h>stack::stack(int size){ a = new int[size]; this->size = size;}stack::~stack(){ delete[] a;}bool stack::isStackEmpty(){ return top == -1;}bool stack::isStackFull(){ return top == size;}void stack::push(int item){ if(isStackFull()) print("the stack is full")' else a[++top] = item;}int stack::pop(){ if(isStackFull()) print("the stack is full"); else return a[top--]}int stack::getSize(){ return size;}
阅读全文
0 0
- 数据结构与算法《栈》
- 数据结构与算法---栈
- 数据结构与算法-栈
- 数据结构与算法系列---栈
- 数据结构与算法分析-栈
- 数据结构与算法JavaScript - 栈
- 数据结构与算法---栈(stack)
- [数据结构与算法] 4,栈
- Java数据结构与算法:栈
- javascript数据结构与算法--栈
- 数据结构与算法 -- 栈 ADT
- java数据结构与算法-栈
- 数据结构与算法之栈
- 回文--栈-《数据结构与算法》
- 数据结构与算法 -- 算法
- 数据结构与算法之----栈与队列
- 数据结构与算法分析:栈与队列
- 数据结构与算法分析:栈与队列
- 武装到“牙齿”!阿里云发布史上最强企业云安全架构 11层防护
- duilib中TranslateMessage函数和DispatchMessage函数
- Win10系统如何运行IE8
- 反素数
- C语言单链表的创建和添加结点
- 数据结构与算法-栈
- Android 自定义Textview 点击生成随机数
- array_walk_recursive的用法省事
- SpringBoot异常:Error creating bean with name 'entityManagerFactory' defined in class path resource
- 用模板写单链表
- 苹果脸部识别到底安全吗?
- 2017云栖大会开源峰会预告
- NanoPC-T2 Android对USB Camera (UVC)的支持
- BZOJ 1876 [SDOI2009]SuperGCD 高精度 更相减损术