C++ stack、queue用法总结

学过数据结构的栈和队列这一章的小伙伴们都知道,我们在真正用代码实现栈和队列的时候,是非常繁琐而且耗时的,如果我们用这种方式C++栈和队列来实现的话,就简便了很多,所以可一定要会啊。

目录

C++ Stacks(堆栈)

操作

在栈顶增加元素(即将元素压入栈)

返回栈中元素数目

判断堆栈是否为空

返回栈顶的元素

移除栈顶的元素

C++ queue

操作

在队尾添加元素

 返回队列大小

判断队列是否为空

返回队尾元素

返回队头元素

队头移除元素


C++ Stacks(堆栈):

堆栈是一个容器类的改编,实现了一个先进后出(FILO)的数据结构。

使用该容器时需要包含头文件 #include<stack>

操作:

在栈顶增加元素(即将元素压入栈)

push();

第一种方式: 

#include<iostream>
#include<stack>
using namespace std;
int main()
{
	stack<int>s;//压入栈的元素都为int型 
	s.push(0);//将0压入栈 
	s.push(1);//将1压入栈 
	s.push(2);//将2压入栈 
	s.push(3);//将3压入栈 
}
//此时栈中元素从上到下依次为3,2,1,0

第二种方式: 

#include<iostream>
#include<stack>
using namespace std;
int main()
{
	stack<int>s;//压入栈的元素都为int型 
	for(int i=0;i<4;i++)
	{
		s.push(i);//将0,1,2,3依次压入栈 
	} 
}
//此时栈中元素从上到下依次为3,2,1,0 

返回栈中元素数目

size();

判断堆栈是否为空

empty();   //是空的话返回1,非空的话返回0

返回栈顶的元素

top();

移除栈顶的元素

pop();

堆栈相等意味着堆栈有相同的元素并有着相同的顺序。

C++ queue

C++队列Queue是一种容器适配器,它给予程序员一种先进先出的数据结构。

使用这个要加头文件 #include<queue>

操作:

在队尾添加元素

push();

#include<iostream>
#include<queue>
using namespace std;
int main()
{
	queue<char>q;//队列中的元素都为char型 
	q.push('a');//将字符a添加到队尾
	q.push('b');//将字符b添加到队尾 
	q.push('c');//将字符c添加到队尾
	q.push('d');//将字符d添加到队尾
	return 0;
}

 返回队列大小

size();

判断队列是否为空

empty();   //是空的话返回1,非空的话返回0

 

返回队尾元素

back();

 

返回队头元素

front();

 

队头移除元素

pop();


stack与queue都不提供遍历功能

发布了23 篇原创文章 · 获赞 30 · 访问量 8681

猜你喜欢

转载自blog.csdn.net/l218623/article/details/104127026
今日推荐