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 đề
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