今天学习到了栈,下面是我对栈的知识总结,语言使用C++和Python,但掌握算法精髓后用其他语言也可以实现
数据结构
数据结构是相互之间存在一种或多种特定关系的集合
数据结构是计算机储存、组织数据的方式
数据结构的选择直接影响计算机程序的运行效率(时间复杂度)和存储效率(空间复杂度)
线性结构
线性结构中的元素具有一对一的前后关系
树形结构
树形结构中的元素具有一对多的父子关系
网状关系
网状结构中的元素具有多对多的交叉映射关系
顺序结构
逻辑上相邻的元素放在物理位置上也相邻的存储元素中
栈
限定只在表尾进行插入或删除操作的线性表
表尾:栈顶表头:栈底不含元素的空表称为空栈
顺序栈的top指针
top=0; 表示空栈top=N; 表示满栈每插入一个元素时,top+1每弹出一个元素时,top-1
栈的基本操作
C++版
Python版
C++ STL模板库中的栈
STL模板库是Standard Template Library的简称,中文名是标准模板库
STL模板库中栈的基本操作
stacks s;s.empty();s.size();s.top();s.push();s.pop()用法请参照上文!使用前别忘了添加头文件 #include哦
That's all~~~
PS:关于栈的应用可能明天会发。。。
Smart的小程序:
小编Smart
领取专属 10元无门槛券
私享最新 技术干货