最最最最基础的数据结构·壹——栈

蒟蒻E兔砸近期打算刷一波复习

于是它开始写这篇博客……可能还有之后的贰弎肆...﹢

(如果再不复习恐怕以后模拟赛是要挂,鱼脑啥都记不住w

先从度娘的话开始

它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

说人话,其实就是一个[只有一个进出口的]车站,先进的车要最后出。比较装x的说法是LIFO

LIFO_百度翻译

LIFO [ˈlaɪfəʊ] [ˈlaɪfo]
[词典] 后进先出;
[例句] The instructions PUSH and QUEUE correspond to LIFO and FIFO operations on the stack.
指令PUSH和QUEUE对应的是对栈的LIFO和FIFO操作。

最最最最基础的数据结构·壹——栈_第1张图片

下面是正题↓

一些基本操作:

#include//头文件
#include
using namespace std;


stacks;//定义栈


int main()
{
int x,y;
cin>>x>>y;
s.push(x);//入栈操作
s.push(y);
s.pop();//出栈弹出
cout< if(s.empty())cout<<2333< else
cout< return 0;


下面是一个简单的应用,十进制转化二进制

#include
#include
using namespace std;


stacks;


int main()
{
int x;
cin>>x;
while(x>=1){
s.push(x%2);
x/=2;
}
while(!s.empty()){
cout< s.pop(); 
}
cout< return 0;


不知道为啥插入不了代码,就这样吧

你可能感兴趣的:(基础数据结构)