이 기사에서는 C++ STL에서 stack::emplace() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.
C++ STL의 스택이란 무엇입니까?
스택은 LIFO(Last In First Out)에 데이터를 저장하는 데이터 구조로, 마지막에 삽입된 요소의 맨 위에서부터 삽입 및 삭제를 수행합니다. 접시 더미와 마찬가지로 새 접시를 더미로 밀어넣고 싶으면 맨 위에 삽입하고 더미에서 접시를 제거하려면 맨 위에서도 제거합니다.
스택::emplace()란 무엇입니까?
stack::emplace() 함수는
이 함수를 실행할 때 함수는 스택의 맨 위에 새 요소를 삽입하고 새로 삽입된 요소를 맨 위 요소로 만듭니다. 이 함수는 emplace_back을 호출하여 상단에 새 요소를 삽입합니다.
구문
stack_name.emplace(Args& args);
매개변수
이 함수는 다음 매개변수를 허용합니다. -
-
인수 − 이것이 우리가 적용하고자 하는 주장입니다.
반환 값
이 함수는 아무 것도 반환하지 않습니다.
입력
std::stack<int> stack1; stack1.emplace(1); stack1.emplace(2); stack1.emplace(3);
출력
3 2 1
예
#include <iostream>
#include <stack>
using namespace std;
int main(){
stack<int> stck;
stck.emplace(10);
stck.emplace(20);
stck.emplace(30);
stck.emplace(40);
stck.emplace(50);
stck.emplace(60);
cout << "Elements in stack are: ";
while (!stck.empty()){
cout<<stck.top() << " ";
stck.pop();
}
return 0;
} 출력
위 코드를 실행하면 다음 출력이 생성됩니다 -
Elements in stack are: 60 50 40 30 20 10
예
#include <iostream>
#include <stack>
using namespace std;
int main(){
stack<int> stck;
int total = 0;
stck.emplace(10);
stck.emplace(20);
stck.emplace(30);
stck.emplace(40);
stck.emplace(50);
stck.emplace(60);
cout << "Elements in stack are: ";
while (!stck.empty()){
cout<<stck.top() << " ";
stck.pop();
total++;
}
cout<<"\nTotal number of elements in stack are: "<<total;
return 0;
} 출력
위 코드를 실행하면 다음 출력이 생성됩니다 -
Elements in stack are: 60 50 40 30 20 10 Total number of elements in stack are: 6