스택은 기본적으로 LIFO(Last In First Out)구조로 이루어져 있다.
데이터의 추가와 삭제가 모두 목록에 끝에서만 일어나며,
알고리즘을 하다보면 활용해야 할 경우가 종종 있으므로 기본적인 사용법에 대해 알아두는 것이 좋다.
■ 필요 헤더
- stack
■ 추가 및 삭제
- push(element) : top에 원소를 추가
- pop() : top에 있는 원소를 삭제
■ 조회
- top() : top(스택의 맨 위)에 있는 원소를 반환
■ 기타
- empty() : 스택이 비어있으면 true 아니면 false를 반환
- size() : 스택 사이즈를 반환
■ 코드
#include <stdio.h>
#include <iostream>
#include <stack> /* include stack library */
using namespace std;
int main(){
/*stack<type> val_name*/
stack<int> s;
/*push*/
s.push(4);
s.push(5);
s.push(6);
/*top*/
cout << "top element : " << s.top() << '\n'; //6
/*size*/
cout << "size element : " << s.size() <<'\n'; //3
/*pop*/
while(!s.empty()){
cout << s.top() << '\n'; // 6,5,4
s.pop();
}
/*empty*/
if(s.empty()){
cout << "stack is empty " <<endl;
}
return 0;
}
'Programming > C++' 카테고리의 다른 글
[c++] Sort 함수 정리 (0) | 2019.09.03 |
---|---|
[C++] string to char, char to string (0) | 2019.08.18 |
[C++] 왜 int main()을 쓸까? (0) | 2019.08.11 |
댓글