스택은 LIFO(Last In First Out)원리로 동작하는 선형적인 자료구조
데이터가 들어오고 나가는 입구가 하나뿐이므로 입구로 들어간 데이터가 스택에 차곡차곡 쌓여있다가 들어간 반대순서로 나온다.
스택은 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 |
---|