栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【23考研】408代码题参考模板——栈和队列(C++STL)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【23考研】408代码题参考模板——栈和队列(C++STL)

对应视频:23考研408数据结构代码题参考模板(栈和队列C++STL)

栈和队列(C++STL) 栈 定义一个栈类型的变量

可以认为C++它已经为我们写好了一个名字为stack的结构体,但是这个结构体有一点特殊,不像我们平常自己写的直接 结构体名 变量名; 这样定义,我们需要在结构体名后面加一个尖括号,尖括号里面要写这个栈中要存放的元素的类型。

stack st; //定义一个存放int类型元素的栈 

这里的类型可以根据自己的需要,需要在栈中存放什么类型就写什么类型,这有点类似于定义数组的时候前面写的类型。如果我要在栈中存放float类型,尖括号里就写float;如果是要存放char类型,尖括号里就写char。

元素入栈

元素入栈使用的是push()函数,参数为需要入栈的元素,但是这个函数又有点特殊,我们可以把它当做是写在结构体里的,所以我们可以把它当做结构体里的一个成员,采用类似于访问成员变量的方法去调用它。

st.push(1); //将元素1入栈 
st.push(2); //将元素2入栈 
获取栈顶元素

获取栈顶元素使用的是top()函数,该函数会将栈顶元素返回,同样我们需要使用类似与访问成员变量的方法去调用它。

int top_value=st.top();//获取栈顶元素
元素出栈

使用pop()函数,该函数会将栈顶元素出栈,不会将栈顶元素返回,可能与有些同学习惯的出栈的时候返回出栈元素有点不同(java中就是元素出栈的时候返回出栈元素),所以获取栈顶元素并将其弹出栈需要写两句代码。

st.pop();//栈顶元素出栈 

获取栈顶元素并将其出栈

int top_value=st.top();//获取栈顶元素; 
st.pop();//栈顶元素出栈 
获取栈中元素个数

使用size()函数

int len=st.size();//获取栈中元素个数 
判断栈是否为空

使用empty()函数,栈为空时返回true,非空是返回false

st.empty();
代码示例
int main(){
	
	stack st; //定义一个存放int类型元素的栈 

	st.push(1); //将元素1入栈 
	st.push(2); //将元素2入栈 
	
	int len=st.size();//获取栈中元素个数 
	cout<<"栈中元素个数:"< 

输出

栈中元素个数:2
栈顶元素:2
栈中元素个数:1
栈是否为空:0
栈是否为空:1
队列

队列的用法基本与栈相同。

定义一个队列类型的变量

队列对应的结构体为queue,同栈一样需要在尖括号中指明队列中需要存放的元素类型。

queue q; //定义一个存放int类型元素的队列 
元素入队

同样,队列中也使用的也是push()函数,并且push函数也在结构体中。

q.push(1); //将元素1入队 
q.push(2); //将元素2入堆
获取队头元素

队列里获取队头元素用的是front(),注意和栈那里区分

int front_value=q.front();//获取队头元素; 
元素出队
q.pop();//队头元素出队

同栈一样,出队时不会返回出队的元素

所以要获取队头元素并将其出队要写两句话

int front_value=q.front();//获取队头元素; 
q.pop();//队头元素出队 
获取队列中元素个数
int len=q.size();//获取栈中元素个数 
判断队列是否为空
q.empty();//队列为空时返回true,非空是返回false
代码示例
int main(){
	
	queue q; //定义一个存放int类型元素的队列 

	q.push(1); //将元素1入队 
	q.push(2); //将元素2入队 
	
	
	int len=q.size();//获取队列中元素个数 
	cout<<"队列中元素个数:"< 

输出

队列中元素个数:2
队头元素:1
队列中元素个数:1
队列是否为空:0
队列是否为空:1
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1036717.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号