数据结构_栈和队列的区别
生活随笔
收集整理的這篇文章主要介紹了
数据结构_栈和队列的区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
棧(stack)和隊(duì)列(queue)是保存時間先后次序的兩種簡便方案。
棧(Stack)的規(guī)則:后進(jìn)先出LIFO
入棧push(),出棧pop(),使用前需要包含頭文件stack
隊(duì)列(Queue)的規(guī)則:先進(jìn)先出FIFO
入隊(duì)push(),出隊(duì)pop(),使用前包含頭文件queue
具體區(qū)別請看下面的例程(代碼可運(yùn)行):
// stack_queue.cpp : 此文件包含 "main" 函數(shù)。程序執(zhí)行將在此處開始并結(jié)束。#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 << "繼續(xù)出棧后棧頂元素為:" << S.top() << endl;queue<int> Q;Q.push(1);//入隊(duì)Q.push(2);Q.push(3);cout << "隊(duì)首元素為:" << Q.front() << endl;Q.pop();//出隊(duì)cout << "出隊(duì)后隊(duì)首元素為:" << Q.front() << endl;Q.pop();cout << "繼續(xù)出隊(duì)后隊(duì)首元素為:" << Q.front() << endl;}運(yùn)行結(jié)果:
進(jìn)棧順序是1,2,3.
出棧的順序是3,2,1;
規(guī)則:棧后進(jìn)先出。
進(jìn)隊(duì)順序是1,2,3.
出隊(duì)的順序是1,2,3;
規(guī)則:隊(duì)列先進(jìn)先出。
上面的運(yùn)行結(jié)果可以幫助我們理解棧后進(jìn)先出(LIFO),隊(duì)列先進(jìn)先出(FIFO)的規(guī)則。
希望對你有幫助。
總結(jié)
以上是生活随笔為你收集整理的数据结构_栈和队列的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 帮别人贷款买车有什么风险
- 下一篇: 栈的应用_进制转换