c++ - stack/queue
2022. 8. 7. 00:20ㆍSTUDY/C++
반응형
c++ stack의 헤더는, #include <stack> 이다.
stack은 LIFO(Last In First Out) 후입 선출 !
근데 stack 은 코테에서 많이 안쓰는 것 같다.
왜냐면 stack 의 단점이 있기 때문인데, vector처럼 [] 해당 요소 접근이 불가하다는 점 때문인듯.
- stack 선언 : stack<int> stk;
- stack 삽입/삭제 : push(i) , pop(); -> 스택의 pop은 맨 위의 값을 pop한다. 큐의 pop은 맨 앞의 원소를 삭제한다.
- stack의 꼭대기값, 비었는지 확인하는 함수 : top(), empty()
queue 도 쓰는 것 비슷하다. 근데 queue는 확실히 안쓰고, deque를 주로 쓴다고 한다. 왜냐면 보니까 deque()에 왠만한 함수 다 있다 !
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> stk;
for(int i = 0; i < 5; i++) stk.push(i);
int out = stk.top();
cout << "top : " << out << '\n';
stk.pop();
out = stk.top();
cout << "top : " << out << '\n';
while(!stk.empty()) {
cout << stk.top() << " ";
stk.pop();
}
cout << '\n';
return 0;
}
큐의 함수는, stack과 다른건 front(), back() 이 있다. 맨 앞의 원소를 return, 맨 뒤의 원소를 return 하는거다.
728x90
반응형
'STUDY > C++' 카테고리의 다른 글
C++ - 수식 함수들 (0) | 2022.08.07 |
---|---|
C++ - deque (0) | 2022.08.07 |
C++ - list (0) | 2022.08.06 |
C++ - vector (0) | 2022.08.06 |
vector & array (2) | 2022.08.04 |