C++ stack


LIFO(Last-In First-Out) 방식의 컨테이너


stack을 사용하기 위해서는 <stack> 헤더를 인클루드 해야한다.




 멤버함수 

 

 empty()

 스택에 원소가 없는가?

 size()

 스택에 원소가 몇개 있는가?

 top()

 스택의 다음 원소는?(가장 상단의 원소는)

 push()

 스택에 원소를 추가

 pop()

 스택에 원소를 제거



사용 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream> 
#include <stack>
 
int main()
{
    std::stack<int> mystack;
    int sum(0);
 
    for (int i = 1; i <= 10; i++) mystack.push(i);
 
    while (!mystack.empty())
    {
        sum += mystack.top();
        mystack.pop();
    }
 
    std::cout << "total: " << sum << '\n';
 
    return 0;
}
cs


주의할 점은 top()으로 스택의 상단의 원소를 사용할 때, 원소가 제거되지 않기 때문에 pop()을 사용하여 별도로 제거 과정을 수행해야 한다.


실행 결과



참조: http://www.cplusplus.com/reference/stack/stack/

'컴퓨터공학 > STL' 카테고리의 다른 글

[STL]C++ STL priority_queue  (0) 2018.07.19
[STL]C++ STL queue  (0) 2018.07.19
[STL]bitset  (0) 2018.07.04
[STL] C++ STL tuple  (0) 2018.06.22
[STL] C++ STL pair  (0) 2018.06.22

+ Recent posts