奧林匹亞資訊班
7/27
講師:吳崇維(wayne)
https://larry850806.github.io/2016/06/06/STL1/
STL 基本容器
STL 容器
stack
STL
STL 是 Standard Template Library 的縮寫,他提供了許多好用的標準模板函式庫,只要引入標頭檔就可以作使用。
STL們:
stack
queue
vector
set
map
priority_queue
...
STL
使用方法
先前提到過stack 這個資料結構
也自己用陣列實作過
以下先稍微複習,再看如何用STL引出stack !
STL們:
stack
queue
vector
set
map
priority_queue
...
如何用STL引出stack?
STL stack 的幾個操作
- top()
- pop()
- push()
- size()
STL使用
首先如果需要用stack
需要引入 #include <stack>
再來如同宣告變數一樣,要宣告容器:stack<int> a;
意思就是有一個stack,裡面裝int,stack的名字叫做a
再來用到stack的功能則可以這樣用
a.top() // 回傳stack最上面的元素
a.push(10) // 把一個元素放進stack裡面,沒有回傳值
a.pop() // 把一個元素從stack拿出來
a.size() // 回傳現在stack中有幾個元素
STL 容器
queue
Queue
Queue 是隊列的意思
跟日常生活的排隊一樣
先到的先服務!
比較:
Queue: 先進先出
Stack : 先進後出
Queue
Queue 的實作比較複雜
這邊直接用STL的用法
介紹Queue的函式種類
- push: 把一個值加到尾巴
- pop: 把第一個值移除掉
- back: 得到尾巴的值
- front: 得到頭的值
Queue
push : 有一個人排隊
pop : 最前面的人離開隊伍
back : 知道尾巴是誰
front : 知道最前面是誰
- push: 把一個值加到尾巴
- pop: 把第一個值移除掉
- back: 得到尾巴的值
- front: 得到頭的值
Queue
程式實作!
一開始有一個空的queue
接著會不停讀取指令:
指令為1 : 再讀取一個數字,代表有一個人(那個數字)來排隊
指令為2 : 最前面的人服務完畢
指令為3 : 印出誰在最前面
STL 容器
set / map
Dynamic Programming
http://www.csie.ntnu.edu.tw/~u91029/DynamicProgramming.html
FeedBack!
一起努力快樂寫程式吧!
7/27 暑期課程 - STL容器
By Wayne Wu
7/27 暑期課程 - STL容器
- 60