6/14
講師:吳崇維(wayne)
https://codeforces.com/problemset/problem/282/A
字串處理!
Stack (堆疊)
盤子, 就是 stack 的最佳形容
stack 的特性是:先進後出
也就是可以想像成
你先疊進去的盤子(越下面)
一個一個拿出來的時候,就越晚拿出來
stack 有兩種基本操作
1. push
將一個元素(通常是數字)
放進stack裡面
(將一個盤子疊上去)
2. pop
將一個元素從 stack 裡面拿出來
並且只能拿最上面的元素
(將一個盤子輕輕拿走)
Stack 操作模擬:
push(4);
push(3);
push(2);
push(1);
pop();
push(5);
[] 前方代表堆疊下方,尾端是上方
[4]
[4,3]
[4,3,2]
[4,3,2,1]
[4,3,5]
[]
通常在程式,為了方便,會用一個陣列代表 stack
(把盤子擺平的,對應陣列)
接著試試看實作這個資料結構
只需要作 pop push
並且在main裡面寫自己的東西測試~
寫完之後用上面的例子實計測試的話
main會變成
stack還可以衍生出一些操作
試著使用 stack ,將一個字串以逆序輸出~(不要直接反著跑for)
若輸入 apple => elppa
若輸入 racecar => racecar
若輸入 Wayne => enyaW
因為是字串,所以剛剛的資料結構的型態們,要從 int 改成 char !
這題難度較高,需要多點心思思考
一起努力快樂寫程式吧!
By Wayne Wu