Programming/C++

C++ STL 스택(stack) 사용법

몽땅마니아(MDD) 2021. 10. 22. 20:50

스택

LIFO(Last In First Out)구조로 top에서만 삽입, 삭제, 조회가 가능하다

#include <stack> 헤더파일을 포함해야 함

 

스택 선언

stack<데이터타입> 스택명;

 

스택 top위치에 원소 추가 

push(원소);

 

스택 top위치 원소 삭제 

pop();

 

top위치의 원소  조회, 반환

top();

 

스택이 비워있는지 반환 (0, 1)

empty();  // 0(false), 1(true) 출력

 

스택의 사이즈 반환

size(); // 숫자로 출력

 

스택 간 내용 바꾸기

swap(스택1, 스택2);

 

#include <iostream>
#include <stack> //스택을 사용하기 위한 헤더파일

using namespace std;

int main() {

	stack<int> s; //스택 선언 - stack<자료형> 스택명;
	s.push(1); //스택 top위치에 원소 추가 - push(원소);
	s.push(2); s.push(3);
	s.pop(); //스택 top위치 원소 삭제 - pop();

	cout << s.top() << endl; //top위치의 원소  조회, 반환 - top();
	//출력 : 2

	cout << s.empty() << endl; //스택이 비워있는지 반환 (true, false) - empty();
	//출력 : 0(false)

	cout << s.size() << endl; //스택의 사이즈 반환 - size();
	//출력 : 2
	s.pop(); s.pop(); 
	cout << s.empty() << endl; 
	//출력 : 1(true);
    
	return 0;
}