์คํ Stack
FILO(LIFO). ์ฒซ๋ฒ์งธ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๋ง์ง๋ง์ ๋๊ฐ. ๋ง์ง๋ง์ ๋ค์ด์จ ๋ฐ์ดํฐ๋ ์ฒซ๋ฒ์งธ๋ก ๋๊ฐ.(์ ์
ํ์ถ, ํ์
์ ์ถ)
๋๊ฒ
์ด ํ๋์ธ ์์๋ฅผ ์์ผ๋ก ๋์๋ค๊ณ ์๊ฐํ์!
์คํ์ ์ฐ์ฐ
- append(item) : item ํ๋๋ฅผ ์คํ์ ๊ฐ์ฅ ์๋ถ๋ถ์ ์ถ๊ฐ
- pop() : ์คํ์์ ๊ฐ์ฅ ์์ ์๋ ํญ๋ชฉ์ ์ ๊ฑฐ
Codeโจ(python) :
stack=[]
stack.append(1)
stack.append(2)
stack.append(3)
stack.pop();
stack.append(4);
print("size : ", len(stack)); #3
print(stack[::-1]) #์ต์๋จ ์์๋ถํฐ ์ถ๋ ฅ [4,2,1]
print(stack) #์ตํ๋จ ์์๋ถํฐ ์ถ๋ ฅ [1,2,4]
while len(stack)>0:
print(stack[-1])
stack.pop(-1);
ํ Queue
FIFO LILO ์ ์ ์ ์ถ ํ์ ํ์ถ๋ก, ์์ชฝ์ด ๋ซ๋ ค์๋ ํต๋ก๋ฅผ ์๊ฐํ์!
ํ ์ฐ์ฐ
- append(item) : item์ ์ค๋ฅธ์ชฝ์์ ์ถ๊ฐ
- popleft() : ์ฒซ๋ฒ์งธ ๋ฐ์ดํฐ๋ถํฐ ์ ๊ฑฐ
cf. appendleft(item) : item์ ์ผ์ชฝ์์ ์ถ๊ฐ, pop() : ์ค๋ฅธ์ชฝ ๋ฐ์ดํฐ๋ถํฐ ์ ๊ฑฐ
Codeโจ(python) :
from collections import deque
dq=deque([4,5,6])
print(dq);
dq.append(10)
dq.appendleft(12) #์ฒซ ๋ฒ์งธ๋ก
dq.append(123)
print(dq); #deque([12, 4, 5, 6, 10, 123])
print("size:",len(dq)) #6
while len(dq)>0:
print(dq.popleft()); #์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐ(pop(0)๊ณผ ๋์ผ) 12 4 5 6 10 123
#while len(dq)>0:
#print(dq.pop()); #123 12 10 6 5 4
'์๋ฃ๊ตฌ์กฐ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Array ์ LinkedList, ์ฐจ์ด๋? (0) | 2023.06.30 |
---|---|
DFS, BFS ๊ฐ๋ ๋ฐ ์ฝ๋ (0) | 2023.03.21 |
๋งตMap(Dictionary), ์งํฉ(Set)๐ (0) | 2022.07.12 |
์ฐ์ ์์ ํ(Priority Queue)๐ (0) | 2022.07.08 |
๋ฐฐ์ด๊ณผ ์ฐ๊ฒฐ๋ฆฌ์คํธ๐ (0) | 2022.07.05 |