스택

  • 스택은 LIFO(Last In First Out)원리로 동작하는 선형적인 자료구조

  • 데이터가 들어오고 나가는 입구가 하나뿐이므로 입구로 들어간 데이터가 스택에 차곡차곡 쌓여있다가 들어간 반대순서로 나온다.


스택을 c로 구현하는 방법도 있지만 C++에서 제공하는STL을 통해 쉽게 사용 할 수 있다.

먼저 <stack> 라이브러리를 선언한 후에 stack<int> 로 stack 컨데이너 객체를 생성 하면 아래와 같은 함수들을 사용할 수 있다.

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

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

  • st.top() : 스택의 가장 꼭대기의 데이터를 반환한다.

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

예제

#include<iostream>

#include<stack> //stack 라이브러리 불러옴 

using namespace std;


int main(){


stack<int> st; //스택 선언


st.push(10); //스택에 삽입

st.push(20);

st.push(100);


while (1){


if (st.empty()){   // 스택이 비었는지 확인

cout << "stack에 데이터 없음" << endl;

break;

}


cout << st.top() << endl; //데이터 반환

st.pop(); //데이터 삭제


}


return 0;


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

C++ STL Queue 큐 사용법과 예제  (0) 2018.05.03

+ Recent posts