数据结构_栈和队列的区别
作者:互联网
栈(stack)和队列(queue)是保存时间先后次序的两种简便方案。
栈(Stack)的规则:后进先出LIFO
入栈push(),出栈pop(),使用前需要包含头文件stack
队列(Queue)的规则:先进先出FIFO
入队push(),出队pop(),使用前包含头文件queue
具体区别请看下面的例程(代码可运行):
// stack_queue.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
#include "pch.h"
#include <iostream>
#include<stack>
#include<queue>
using namespace std;
int main()
{
stack<int> S;
S.push(1);//入栈
S.push(2);
S.push(3);
cout <<"栈顶元素为:"<< S.top() << endl;
S.pop();//出栈
cout << "出栈后栈顶元素为:" << S.top() << endl;
S.pop();
cout << "继续出栈后栈顶元素为:" << S.top() << endl;
queue<int> Q;
Q.push(1);//入队
Q.push(2);
Q.push(3);
cout << "队首元素为:" << Q.front() << endl;
Q.pop();//出队
cout << "出队后队首元素为:" << Q.front() << endl;
Q.pop();
cout << "继续出队后队首元素为:" << Q.front() << endl;
}
运行结果:
进栈顺序是1,2,3.
出栈的顺序是3,2,1;
规则:栈后进先出。
进队顺序是1,2,3.
出队的顺序是1,2,3;
规则:队列先进先出。
上面的运行结果可以帮助我们理解栈后进先出(LIFO),队列先进先出(FIFO)的规则。
希望对你有帮助。
shizheng_Li 发布了111 篇原创文章 · 获赞 69 · 访问量 4万+ 私信 关注标签:include,先进先出,区别,队列,后进先出,push,数据结构,stack 来源: https://blog.csdn.net/shizheng_Li/article/details/104461894