본문 바로가기
C++ Programming/알고리즘 정리

[C++] 스택(Stack)

by 쵸빙 2020. 5. 7.

이번 시간에는 스택에 대해 알아보도록 하겠다.

 

 

 

 

 

 

 

스택(Stack)과 큐(Queue)는 컴퓨터 공학에서 가장 기본이 되는 자료구조이다.

스택은 택배 상하차, 큐는 은행 창구에 비유되기도 한다.

 

 

 

 

 

이번 시간에는 stl stack을 쓰는 방법을 알아보겠다.

stack을 직접 구현하는 것은 다음에 추가하도록 하겠다.

 

 

 

 

 

 

 

#include <iostream>
#include <stack>
using namespace std;

int main() {
	stack<int> s;
	s.push(7);
	s.push(5);
	s.push(4);

	s.pop();
	s.push(6);

	while (!s.empty()) {
		cout << s.top() << endl;
		s.pop();
	}

	return 0;
}

 

stl stack을 int형으로 선언해준 뒤, 7, 5, 4 가 밑에서부터 쌓여있는데 한 번 pop을 했으니 top인 4가 삭제될 것이고,

다시 6을 push해서 7 5 6이 있을 것이다.

 

 

 

 

stack이 빌 때까지 반복문을 돌리면서 출력하면 6 5 7이 출력될 것이다.

 

 

 

 

 

 

 

 

마지막으로 stl stack의 함수를 정리하고 마치도록 하겠다.

 

 

 

함수 이름 기능
push(element) 스택의 가장 위에 원소를 삽입
pop() 스택의 가장 위에 있는 원소를 제거
top() 스택의 가장 위에 있는 원소를 가져옴.
empty() 스택이 비어있는 경우는 1, 그렇지 않으면 0을 반환.
size() 스택에 들어있는 원소의 수를 반환.

 

 

 

 

 

 

 

 

 

다음 시간에는 큐(Queue)에 대해 배워보도록 하겠다.