[STL] C++ stack 생성 및 삽입, 삭제
결과
결과
코드
#include <string>
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> s;
if (s.empty()) cout << "스택이 비었습니다.\n";
s.push(4); // 4
s.push(3); // 4 3
s.push(5); // 4 3 5
s.push(1); // 4 3 5 1
s.push(6); // 4 3 5 1 6
s.push(2); // 4 3 5 1 6 2
cout << "가장 꼭대기 : " << s.top() << "\n";
cout << "개수 : " << s.size() << "\n";
cout << "하나씩 출력 : ";
while (!s.empty()) {
cout << s.top() << " ";
s.pop();
}
cout << "\n";
return 0;
}
Stack : 후입선출(or 선입후출)의 구조로 가장 나중에 들어온 것이 가장 먼저 나간다.
ex) 한줄로만 넣을 수 있는 박스의 물건을 넣는다고 생각하면 된다. 이렇게 된다면 가장 위에 물건을 꺼내야만 그 아래의 있는 물건을 꺼낼 수 있다.
empty() : 스택이 비었는지 검사한다.
- 스택이 비었다면 true를 return 한다.
push() : 데이터를 삽입(push) 한다.
top() : 가장 꼭대기의 값을 리턴한다,
- 가장 꼭대기의 값이므로 pop()했을 때 나오는 값이다.
size() : 스택의 길이를 리턴한다.
pop() : 꼭대기의 값을 삭제(pop) 한다.
- return 형이 void이므로 꼭대기 값을 이용하기 위해서는 pop()하기 전 top()으로 값을 가져와야 한다.
- 스택이 비워져 있을 때 pop()을 실행한다면 오류가 발생한다.
pair을 사용하여서 값 쌍으로 저장하기
링크
[C++/STL] - C++ pair 사용하여 쌍으로 값저장
'C++ > STL' 카테고리의 다른 글
[STL] C++ priority_queue 우선순위 큐 (0) | 2020.04.07 |
---|---|
[STL] C++ queue 생성 및 삽입, 삭제 (0) | 2020.04.07 |
C++ pair 사용하여 쌍으로 값저장 (0) | 2020.03.31 |
C++ vector 오름차순, 내림차순 정렬 (0) | 2020.03.30 |
C++ vector 생성 및 삽입, 삭제 (0) | 2020.03.28 |