C++数据结构之栈与队列

前言

先讲一个笑话,怎样判断一个人是否是程序员?答:问他push的反义词是什么。回答pull的是普通人,回答pop的才是程序员,push和pop就是栈和队列中要用到的函数。

栈是一种线性存储结构,元素遵循“先进后出”,并且只能在栈顶进行插入和删除,附上代码演示栈的用法,超详细。

#include<iostream>
#include<stack>//包含栈的头文件 
using namespace std;
int main()
{
	stack<int> s;//栈的定义 
	for(int i=0;i<10;i++)
	{
		s.push(i);//压栈 
	} 
	cout<<s.size()<<endl;//访问栈中元素个数
	while(!s.empty())//判断栈是否为空 
	{
		cout<<s.top()<<" ";//访问栈顶 
		s.pop();//弹栈,弹栈只是删除栈顶,并不返回栈顶,通常与top()连用 
	}
	return 0;
}

队列

接下来再谈另一种线性存储结构–队列。他的元素遵循“先进先出”,队首删除,队尾插入,不多说,代码中演示队列的用法。

#include<iostream>
#include<queue>//包含队列的头文件 
using namespace std;

int main()
{
	queue<int> q;//队列的定义 
	for(int i=0;i<10;i++)
	{
		q.push(i);//入队 
	}
	cout<<q.size()<<endl;//访问队列中元素个数 
	cout<<"队首:"<<q.front()<<endl;
	cout<<"队尾:"<<q.back()<<endl;
	while(!q.empty())//判断队列是否为空 
	{
		cout<<q.front()<<" ";//访问队首 
		q.pop();//出队,删除队首,并不返回值,与栈的pop相似 
	}
	return 0;
}
发布了28 篇原创文章 · 获赞 40 · 访问量 3473

猜你喜欢

转载自blog.csdn.net/weixin_43912621/article/details/90437466