Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ STL에서 emplace() 스택

<시간/>

이 기사에서는 C++ STL에서 stack::emplace() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.

C++ STL의 스택이란 무엇입니까?

스택은 LIFO(Last In First Out)에 데이터를 저장하는 데이터 구조로, 마지막에 삽입된 요소의 맨 위에서부터 삽입 및 삭제를 수행합니다. 접시 더미와 마찬가지로 새 접시를 더미로 밀어넣고 싶으면 맨 위에 삽입하고 더미에서 접시를 제거하려면 맨 위에서도 제거합니다.

스택::emplace()란 무엇입니까?

stack::emplace() 함수는 헤더 파일에 정의된 C++ STL의 내장 함수입니다. 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