stack
in C++ on C++, Stack
목차
- c++ stack 이란?
- stack의 선언
- stack 기본 함수
- stack 함수 파라미터로 사용
c++ stack 이란?
스택은 자주 사용되는 자료구조 중 하나로 LIFO( Last In First Out)의 특징을 가지고 있습니다.
c++ STL 스택 라이브러리를 통하여 push, pop, size, empty 등등 여러 함수들을 간편하게 사용할 수 있습니다.
stack의 선언
#include<stack>
using namespace std;
stack<int> st_int; //int 형 stack 생성
stack<char> st_int; //char 형 stack 생성
stack 기본 함수
push
#include<stack>
using namespace std;
int main(){
stack<int> stack; //int type stack create
stack.push(4); //push 4, 5, 6
stack.push(5);
stack.push(6);
cout << "stack size : " << stack.size() <<endl; //stack size
cout << stack.top() <<endl; // 6
stack.pop(); // remove top element of stack
cout <<stack.top() <<endl; //5
stack.pop();
cout << stack.top() <<endl; //4
stack.pop();
stack.push(4); //push 4, 5, 6 to stack
stack.push(5);
stack.push(6);
for(int i = 0; i < stack.size(); i++){ // 4, 5, 6 출력
cout << stack.top() <<endl;
stack.pop();
}
if(stack.empty()){ // check if stack is empty
cout << "stack is empty " <<endl;
}
return 0;
}
stack 함수 파라미터로 사용
함수 내 파라미터 선언
- 파라미터는 포인터로 선언해야 한다.
#include<stack>
using namespace std;
int test(stack<int>* st);
int main(){
stack<int> st;
st.push(3);
test(&st);
}
함수 내 스텍 함수 사용
- 포인터 이므로 -> 연산 사용
#include<stack>
using namespace std;
int test(stack<int>* st){
cout << st->top()
}
int main(){
stack<int> st;
st.push(3);
test(&st);
}