이 기사에서는 C++ STL에서 stack::empty() 및 stack::size() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.
C++ STL의 스택이란 무엇입니까?
스택은 LIFO(Last In First Out)에 데이터를 저장하는 데이터 구조로, 마지막에 삽입된 요소의 맨 위에서부터 삽입 및 삭제를 수행합니다. 접시 더미와 마찬가지로 새 접시를 더미에 밀어넣고 싶으면 맨 위에 삽입하고 더미에서 접시를 제거하려면 맨 위에서도 제거합니다.
스택::empty()란 무엇입니까?
stack::empty() 함수는
컨테이너가 비어 있어야 함을 확인하는 함수는 컨테이너의 크기가 0이어야 함을 의미합니다.
구문
stack_name.empty();
매개변수
함수는 매개변수를 허용하지 않습니다.
반환 값
이 함수는 컨테이너가 비어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
입력
std::stack<int> stack1; stack1.emplace(1); stack1.emplace(2); stack1.emplace(3); stack1.empty();
출력
false
입력
std::stack<int> stack2; stack2.empty();
출력
true
예시
#include <iostream> #include <stack> using namespace std; int main(){ stack<int> stck; int Product = 1; stck.push(1); stck.push(2); stck.push(3); stck.push(4); stck.push(5); stck.push(6); while (!stck.empty()){ Product = Product * stck.top(); stck.pop(); } cout<<"\nProduct of elements in stack are: "<<Product; return 0; }
출력
위 코드를 실행하면 다음 출력이 생성됩니다. -
Product of elements in stack are: 720
스택::size()란 무엇입니까?
stack::size() 함수는
컨테이너가 비어 있으면 size()는 0을 반환합니다.
구문
stack_name.size();
매개변수
함수는 매개변수를 허용하지 않습니다.
반환 값
이 함수는 컨테이너의 크기를 반환합니다.
입력
std::stack<int> stack1; stack1.emplace(1); stack1.emplace(2); stack1.emplace(3); stack1.size();
출력
3
입력
std::stack<int> stack2; stack2.size();
출력
0
예시
#include <iostream> #include <stack> using namespace std; int main(){ stack<int> stck; int Product = 1; stck.push(1); stck.push(2); stck.push(3); stck.push(4); stck.push(5); stck.push(6); cout<<"size of stack is: "<<stck.size(); while (stck.size()>0){ Product = Product * stck.top(); stck.pop(); } cout<<"\nProduct of elements in stack are: "<<Product; return 0; }
출력
위 코드를 실행하면 다음 출력이 생성됩니다. -
size of stack is: 6 Product of elements in stack are: 720