FILO or LIFO
stack<int> s;
int main() {
s.push(1);
s.push(2);
s.push(3);
if(!s.empty()) {
s.pop();
}
cout << s.size() << "\n";
cout << s.top() << "\n";
}
size()
: 원소 개수 리턴empty()
: 스택이 비어있으면 true, 아니면 false 리턴top()
: 스택의 top 원소 리턴push(element)
: 원소 삽입pop()
: top 원소 삭제swap(stack1, stack2)
: 두 스택의 내용을 바꾸기FIFO
queue<int> q;
int main(void) {
q.push(5);
q.push(2);
q.push(3);
q.pop();
// 먼저 들어온 원소부터 추출
while (!q.empty()) {
cout << q.front() << ' ';
q.pop();
}
}
size()
: 원소 개수 리턴empty()
: 큐가 비어있으면 true, 아니면 false 리턴front()
: 큐의 가장 앞의 원소 리턴back()
: 큐의 가장 뒤의 원소 리턴push(element)
: 원소 삽입pop()
: front 원소 삭제swap(queue1, queue2)
: 두 큐의 내용을 바꾸기