【数据结构】栈的基本操作
0.前言
上一篇中简单介绍了栈的定义,这一篇中介绍栈的基本用法,包含压栈,出栈,判断栈空,判断栈中元素个数等。下面进行详细介绍
1.基本用法
本文介绍的栈的主要操作,使用栈之前加入<stack>头文件。基本用法如下:
s.push(item); //将item压入栈顶 s.pop(); //删除栈顶的元素,但不会返回 s.top(); //返回栈顶的元素,但不会删除 s.size(); //返回栈中元素的个数 s.empty(); //检查栈是否为空,如果为空返回true,否则返回false
2.定义栈
格式:stack<数据类型>栈名
例如:
#include<iostream> #include<stack> using namespace std; int main(){ stack<int> s; //定义一个栈,名字是s return 0; }
3.入栈
#include<iostream> #include<stack> using namespace std; int main(){ stack<int> s; //定义一个栈,名字是s //方式1:读取50个数入栈 for(int i=0;i<50;i++){ s.push(i); } //方式2:只要是数字就入栈,不限定长度 while(cin>>num) { s.push(num); } return 0; }
4.测量栈的大小
跟以前学过的string的用法类似,可以用size来测量
#include<iostream> #include<stack> using namespace std; int main(){ stack<int> s; //定义一个栈,名字是s int num; //方式2:只要是数字就入栈,不限定长度 while(cin>>num) { s.push(num); } cout<<"栈的长度是:"<<s.size()<<endl; return 0; }
5.出栈、判断为空、栈定元素
#include<iostream> #include<stack> using namespace std; int main(){ stack<int> s; //定义一个栈,名字是s int num; //方式2:只要是数字就入栈,不限定长度 while(cin>>num) { s.push(num); } cout<<"栈的长度是:"<<s.size()<<endl; while(!s.empty()) //判断栈是否为空 { cout<<s.top()<<" "; //输出栈定元素 s.pop(); //出栈一个元素 } cout<<"\n 当前栈的长度是:"<<s.size()<<endl; return 0; }
(adsbygoogle = window.adsbygoogle || []).push({});