SlideShare a Scribd company logo
1 of 30
CH5 堆疊與佇列
洗碗工與紅血球與奇怪的種種
程教 文月
想像 .. 你是一個洗碗工
這是水槽內部的情況…
拜託你洗
一下喔
這個也是
喔 ..
還有這個
多洗一點
不會怎樣
這是最後一個了
大概吧 ~
太多了吧 QAQQQQQ
姑且不管要洗多少盤子,
我們來思考一個問題!
你要從 一個盤子洗起?哪
你告訴我:
廢話!當然是最上面的啊!
難道我要抽底下的盤子 ?嗎
錯誤示範 XDDD( 切勿模仿 )
盤子碎裂綠 !!!
在堆盤子時我們從下往上堆,
拿盤子我們由上往下拿…
這是一個
堆疊
的概念
回到 C++ 的懷抱…
首先,引入標頭 :檔 <stack>
堆盤子為 push
拿盤子為 pop
看看最上層的盤子為 top
讓我們來看一段範例吧 ~
#include<iostream>
#include<stack>
using namespace std;
int main(){
stack<int> stk; //stack 為堆疊之英文
stk.empty(); // 清空 stk
stk.push(10); // 放入盤子「 10 」
stk.push(20); // 放入盤子「 20 」
cout<<stk.top()<<endl; // 輸出最上層的盤子
stk.pop(); // 丟掉最上層的盤子
cout<<stk.top()<<endl;
}
執行結果
10
stk.push(10);
stk.push(20);
cout<<stk.top()<<endl;
stk.pop();
cout<<stk.top()<<endl;
20
10
20
後來這個洗碗工過勞
所以去看醫生 (!?)
嗚 !啊啊啊啊啊
我最怕抽血了
QAQQQQ
這是血管內的紅血球
我要氧
我要氧
我要氧
我要氧 我要氧
我要氧
我要氧
我知道看起來很 但是…噁
但是我們來思考一些問題 !!
錯誤示範 XDD ( 切勿模仿 ?)
我要去前面 !!
紅血球先進先出,後進後出。
這是一個
佇列
的概念
回到 C++ 的懷抱…
首先,引入標頭 :檔 <queue>
加入紅血球為 push
紅血球離開為 pop
最前頭的紅血球為 front
最後頭的紅血球為 back
讓我們來看一段範例吧 ~
#include<iostream>
#include<queue>
using namespace std;
int main()
{
queue<int> que; //queue 為佇列之英文
que.empty(); // 清空 que
que.push(10); // 放入紅血球「 10 」
que.push(20); // 放入紅血球「 20 」
cout<<que.front()<<endl; // 輸出最前頭的紅血球
cout<<que.back()<<endl;// 輸出最後頭的紅血球
que.pop(); // 丟掉最前頭的紅血球
cout<<que.front()<<endl;
}
執行結果
que.push(10);
que.push(20);
cout<<que.front()<<endl;
que.pop();
cout<<que.front()<<endl;
20
10
10
20
20
cout<<que.back()<<endl;
現在我們把什麼洗碗工都忘掉…
恢復學生身分!!
體育課要拿羽毛球
我要拿一個 !!
我也要 ~~
也 我拿幫 !
我也是 !
羽毛球左右皆可拿。
這是一個
雙頭佇列
的概念
回到 C++ 的懷抱…
首先,引入標頭 :檔 <queue>
前頭加入為 push_front
後頭加入為 push_back
前頭離開為 pop_front
前頭離開為 pop_back
最前頭的為 front
最後頭的為 back
讓我們來看一段範例吧 ~
#include<iostream>
#include<queue>
using namespace std;
int main(){
deque<int> dq; //deque 為雙頭佇列之英文
dq.empty(); // 清空 dq
dq.push_front(10); // 前頭放入「 10 」
dq.push_front(20);
dq.push_back(30); // 後頭放入「 30 」
cout<<dq.front()<<endl; // 輸出最前頭
cout<<dq.back()<<endl;// 輸出最後頭
dq.pop_front(); // 丟掉最前頭
cout<<dq.front()<<endl;
cout<<dq.back()<<endl;
}
執行結果
dq.pop_front();
cout<<que.back()<<endl;
cout<<que.front()<<endl;
dq.push_front(20);
dq.push_front(10);
30
20
10 dq.push_back(30);
cout<<dq.front()<<endl;
cout<<dq.back()<<endl;
30
102030
來看看升旗隊伍吧 ~
最高的排前面,最矮的排後面
這是一個
優先權佇列
的概念
回到 C++ 的懷抱…
首先,引入標頭 :檔 <queue>
加入學生為 push
學生離開為 pop
最高的學生為 top
讓我們來看一段範例吧 ~
#include<iostream>
#include<queue>
using namespace std;
int main(){
priority_queue<int> pq; //priority 有優先之意
pq.empty(); // 清空 pq
pq.push(10); // 放入「 10 」
pq.push(20);
pq.push(30);
cout<<pq.top()<<endl; // 輸出最高者
pq.pop();
cout<<pq.top()<<endl;
}
執行結果
淺談資料結構
★資料結構主要是在研究如何把原始的「資
料」,組織、安排、存放到電腦中的一門
學問。 整理後的資料即為「資訊」
常見的資料結構有陣列、堆疊、佇列……等
組織、安排、存放
資料 資訊
CH5 到此結束,謝謝大家!
要記得先進先出是佇列的概念喔

More Related Content

Viewers also liked

Libckpt transparent checkpointing under unix
Libckpt transparent checkpointing under unixLibckpt transparent checkpointing under unix
Libckpt transparent checkpointing under unixZongYing Lyu
 
A deep dive into energy efficient multi core processor
A deep dive into energy efficient multi core processorA deep dive into energy efficient multi core processor
A deep dive into energy efficient multi core processorZongYing Lyu
 
台灣樹莓派 2016/12/26 #17 站在Nas的中心呼喊物聯網 QNAP QIoT
台灣樹莓派 2016/12/26 #17 站在Nas的中心呼喊物聯網 QNAP QIoT台灣樹莓派 2016/12/26 #17 站在Nas的中心呼喊物聯網 QNAP QIoT
台灣樹莓派 2016/12/26 #17 站在Nas的中心呼喊物聯網 QNAP QIoTAnderson Cheng
 

Viewers also liked (6)

Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
 
綠色生活 風靡全球
綠色生活 風靡全球綠色生活 風靡全球
綠色生活 風靡全球
 
Libckpt transparent checkpointing under unix
Libckpt transparent checkpointing under unixLibckpt transparent checkpointing under unix
Libckpt transparent checkpointing under unix
 
A deep dive into energy efficient multi core processor
A deep dive into energy efficient multi core processorA deep dive into energy efficient multi core processor
A deep dive into energy efficient multi core processor
 
Vue.js
Vue.jsVue.js
Vue.js
 
台灣樹莓派 2016/12/26 #17 站在Nas的中心呼喊物聯網 QNAP QIoT
台灣樹莓派 2016/12/26 #17 站在Nas的中心呼喊物聯網 QNAP QIoT台灣樹莓派 2016/12/26 #17 站在Nas的中心呼喊物聯網 QNAP QIoT
台灣樹莓派 2016/12/26 #17 站在Nas的中心呼喊物聯網 QNAP QIoT
 

More from requiemformemories

More from requiemformemories (18)

人文及社會科學班 介紹
人文及社會科學班 介紹人文及社會科學班 介紹
人文及社會科學班 介紹
 
地理報告-環境與疾病
地理報告-環境與疾病地理報告-環境與疾病
地理報告-環境與疾病
 
地理報告-能源組
地理報告-能源組地理報告-能源組
地理報告-能源組
 
地理報告-地景保育(澎湖國家公園)
地理報告-地景保育(澎湖國家公園)地理報告-地景保育(澎湖國家公園)
地理報告-地景保育(澎湖國家公園)
 
地理報告-全球暖化
地理報告-全球暖化地理報告-全球暖化
地理報告-全球暖化
 
地理報告-水患組
地理報告-水患組地理報告-水患組
地理報告-水患組
 
地理報告-糧食組
地理報告-糧食組地理報告-糧食組
地理報告-糧食組
 
地理報告-水資源
地理報告-水資源地理報告-水資源
地理報告-水資源
 
Ch6 函式
Ch6 函式Ch6 函式
Ch6 函式
 
Ch3 陣列
Ch3 陣列Ch3 陣列
Ch3 陣列
 
Ch2 重複結構(迴圈)
Ch2 重複結構(迴圈)Ch2 重複結構(迴圈)
Ch2 重複結構(迴圈)
 
Ch1 c++總複習
Ch1 c++總複習Ch1 c++總複習
Ch1 c++總複習
 
Ch4 字元陣列
Ch4 字元陣列Ch4 字元陣列
Ch4 字元陣列
 
C++基礎程式設計 ch1 進入c++的世界
C++基礎程式設計 ch1 進入c++的世界C++基礎程式設計 ch1 進入c++的世界
C++基礎程式設計 ch1 進入c++的世界
 
C++基礎程式設計 Zero judge介紹
C++基礎程式設計 Zero judge介紹C++基礎程式設計 Zero judge介紹
C++基礎程式設計 Zero judge介紹
 
C++基礎程式設計 ch3 條件判斷
C++基礎程式設計 ch3 條件判斷C++基礎程式設計 ch3 條件判斷
C++基礎程式設計 ch3 條件判斷
 
C++基礎程式設計 ch2 變數與運算子
C++基礎程式設計 ch2 變數與運算子C++基礎程式設計 ch2 變數與運算子
C++基礎程式設計 ch2 變數與運算子
 
C++基礎程式設計 ch4 重複結構
C++基礎程式設計 ch4 重複結構C++基礎程式設計 ch4 重複結構
C++基礎程式設計 ch4 重複結構
 

Recently uploaded

哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制jakepaige317
 
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单kathrynalvarez364
 
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书kathrynalvarez364
 
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制kathrynalvarez364
 
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,Xin Yun Teo
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...黑客 接单【TG/微信qoqoqdqd】
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxmekosin001123
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxmekosin001123
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxmekosin001123
 
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单jakepaige317
 
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书kathrynalvarez364
 

Recently uploaded (11)

哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
哪里可以购买日本筑波学院大学学位记/做个假的文凭可认证吗/仿制日本大学毕业证/意大利语CELI证书定制
 
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单
日本姫路独协大学毕业证制作/修士学位记多少钱/哪里可以购买假美国圣何塞州立大学成绩单
 
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
澳洲圣母大学毕业证制作/加拿大硕士学历代办/购买一个假的中央警察大学硕士学位证书
 
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
哪里可以购买日本神奈川县立保健福祉大学学位记/录取通知书可以制作吗/补办马来西亚大学文凭/CIA证书定制
 
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
中国文学, 了解王安石变法,熙宁变法,熙盛变法- 中国古代改革的类型- 富国强兵,
 
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
1.🎉“入侵大学入学考试中心修改成绩”来袭!ALEVEL替考大揭秘,轻松搞定考试成绩! 💥你还在为无法进入大学招生系统而烦恼吗?想知道如何通过技术手段更改...
 
educ6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptxeduc6506presentationtc3302771-240427173057-06a46de5.pptx
educ6506presentationtc3302771-240427173057-06a46de5.pptx
 
EDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptxEDUC6506_ClassPresentation_TC330277 (1).pptx
EDUC6506_ClassPresentation_TC330277 (1).pptx
 
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptxEDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
EDUC6506(001)_ClassPresentation_2_TC330277 (1).pptx
 
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
日本九州齿科大学毕业证制作🚩定制本科卒业证书🚩哪里可以购买假美国西南基督复临安息日会大学成绩单
 
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
布莱德福德大学毕业证制作/英国本科学历如何认证/购买一个假的香港中文大学专业进修学院硕士学位证书
 

Ch5 堆疊與佇列