Computer >> Máy Tính >  >> Lập trình >> C ++

ngăn xếp emplace () trong C ++ STL

Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và các ví dụ của hàm stack ::emplace () trong C ++ STL.

Stack trong C ++ STL là gì?

Ngăn xếp là cấu trúc dữ liệu lưu trữ dữ liệu trong LIFO (Last In First Out) nơi chúng ta chèn và xóa từ đầu phần tử cuối cùng được chèn vào. Giống như một chồng đĩa, nếu chúng ta muốn đẩy một đĩa mới vào ngăn xếp, chúng ta sẽ chèn ở trên cùng và nếu chúng ta muốn lấy đĩa ra khỏi chồng, thì chúng ta cũng lấy nó ra từ trên cùng.

stack ::emplace () là gì?

Hàm stack ::emplace () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . emplace () được sử dụng để tạo và chèn một phần tử vào vùng chứa ngăn xếp được liên kết với hàm.

Khi chúng ta chạy hàm này, hàm sẽ chèn một phần tử mới trên đầu ngăn xếp và làm cho phần tử được chèn mới làm phần tử trên cùng. Hàm này gọi emplace_back để chèn phần tử mới ở trên cùng.

Cú pháp

stack_name.emplace(Args& args);

Tham số

Hàm chấp nhận (các) tham số sau -

  • args - Đây là những đối số mà chúng tôi muốn thay thế.

Giá trị trả về

Hàm này không trả về gì.

Đầu vào

std::stack<int> stack1;
stack1.emplace(1);
stack1.emplace(2);
stack1.emplace(3);

Đầu ra

3 2 1

Ví dụ

#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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Elements in stack are: 60 50 40 30 20 10

Ví dụ

#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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Elements in stack are: 60 50 40 30 20 10
Total number of elements in stack are: 6