【数据结构】栈的基本操作
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;
}扫描二维码推送至手机访问。
版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。
