青少年编程知识记录 codecoming

【数据结构】栈的基本操作

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({});

作者:亿万年的星光 分类:C++知识 浏览: