C++标准库类模板(stack)和 队列(queue)

在C++标准库(STL)中有栈和队列的类模板,因此可以直接使用

1、栈(stack):使用栈之前,要先包含头文件 : #include<stack>

stack.push(elem);   //往栈头添加元素
stack.pop();   //从栈头移除第一个元素
stack.top();       //返回栈顶元素
stack.empty();   //判断堆栈是否为空,栈空返回true,栈非空返回false
stack.size();        //返回堆栈的大小

例: 

#include <iostream> 
#include <stack>
using namespace std;
int main(){
	
	stack<int> stack;
	int num;
	
	cout<<"入栈:"; 
	
	for(int i = 1;i<10;i++){
		cout<<i<<" ";
		stack.push(i);
	}
	
	stack.empty()?cout<<endl<<"当前栈空":cout<<endl<<"当前栈非空"; 
	cout<<endl<<"栈内元素数:"<<stack.size()<<endl;
	cout<<"出栈:";
	
	while(!stack.empty())
	{
		cout<<stack.top()<<" ";
		stack.pop();
	}
	
	stack.empty()?cout<<endl<<"当前栈空":cout<<endl<<"当前栈非空"; 
	
	return 0; 
}

2、队列(queue):使用队列,要先包含头文件 : #include<queue>

queue.push(elem)           //把元素压入队列尾部

queue.pop()                //删除队首元素,但不返回

queue.front()              //返回队首元素,但不删除

queue.back()               //返回队尾元素,但不删除

queue.size()               //返回队列中元素的个数

queue.empty()              //检查队列是否为空,如果为空返回true,否则返回false

例:

#include <iostream> 
#include <queue>
using namespace std;
int main(){
	
	queue<int> queue;
	int num;
	
	cout<<"入队:"; 
	
	for(int i = 1;i<10;i++){
		
		queue.push(i);
		cout<<queue.back()<<" ";
	}
	
	queue.empty()?cout<<endl<<"当前队列空":cout<<endl<<"当前队列非空"; 
	cout<<endl<<"队列内元素数:"<<queue.size()<<endl;
	cout<<"出队:";
	
	while(!queue.empty())
	{
		cout<<queue.front()<<" ";
		queue.pop();
	}
	
	queue.empty()?cout<<endl<<"当前队列空":cout<<endl<<"当前队列非空"; 
	
	return 0; 
}

 

原文链接: https://www.cnblogs.com/mydrizzle/p/10651239.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++标准库类模板(stack)和 队列(queue)

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/291471

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 下午1:41
下一篇 2023年2月15日 下午1:43

相关推荐