[STL] 스택(stack) 기본 예제[STL] 스택(stack) 기본 예제

Posted at 2014. 12. 25. 22:31 | Posted in C++/STL



facebook에 글올리기



[STL] 스택(stack) 기본 예제


컨테이너 어댑터의 종류는 stack, queue, priority_queue 가 있다.


그중 대표적인 컨테이너 어댑터는 stack 이다.

stack은 LIFO(Last In First Out) 방식의 시퀀스이다.


empty, size, push_back, pop_back, back 의 인터페이스를 지원하는 컨테이너(시퀀스)는 모두 stack 컨테이너 어댑터를 사용하여 LIFO 방식의 스택으로 변환할 수 있다.

stack 컨테이너 어댑터의 디폴트 컨테이너는 deque 컨테이너이다.



 Colored By Color Scripter

#include <iostream>
#include <vector>
#include <stack>
using namespace std;


int main(){

    stack<int> st;  // default 는 deque 컨테이너 사용
    //stack<int, vector<int>> st;  vector 컨테이너를 이용하여 stack 컨테이너 생성

    st.push(10);    // 스택에 등록
    st.push(20);
    st.push(30);

    cout << st.top() << endl;    // 스택 제일 위의 요소 가져오기
    st.pop();                    // 스택 제일 위의 요소 제거
    cout << st.top() << endl;
    st.pop();
    cout << st.top() << endl;
    st.pop();
    
    if (st.empty())                // 스택이 비었는지 확인
        cout << "stack에 데이터 없음" << endl;

    return 0;
}



- stack<int> st : 디폴트 컨테이너 deque<int>를 사용하여 stack 컨테이너 객체를 생성한다.

- stack<int, vector<int>> st : vector 컨테이너를 적용한 정수를 저장하는 stack 컨테이너를 생성한다.

- st.push(x) : 스택에 데이터 x를 입력한다.

- st.pop() : 스택의 데이터를 삭제한다.

- st.top() : 스택의 데이터를 반환한다.

- st.empty() : 스택이 비어있는지 판단한다.

'C++ > STL' 카테고리의 다른 글

[STL] not2 함수  (0) 2014.12.26
[STL] 역방향 반복자 (reverse_iterator)  (0) 2014.12.25
[STL] 스택(stack) 기본 예제  (0) 2014.12.25
[STL] sort() 정렬 예제  (0) 2014.12.25
[STL] find() 함수 예제  (0) 2014.12.25
[STL] 반복자 iterator 개념 및 예제  (0) 2014.12.25
이웃추가
facebook에 글올리기

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기