Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của hàm queue::emplace() trong C++ STL.
Queue trong C++ STL là gì?
Queue là một trình tự hoặc cấu trúc dữ liệu đơn giản được định nghĩa trong C++ STL thực hiện chèn và xóa dữ liệu theo kiểu FIFO (First In First Out). Dữ liệu trong queue được lưu trữ theo cách liên tục. Phần tử được chèn ở cuối và xóa từ đầu queue. Trong C++ STL đã có template queue định nghĩa sẵn, chèn và xóa dữ liệu theo cách thức tương tự queue.
queue::emplace() là gì?
queue::emplace() là hàm built-in trong C++ STL được khai báo trong header <queue>. Hàm này dùng để chèn (emplace) phần tử mới vào queue container. Do đặc tính queue chèn ở cuối, emplace() nội bộ gọi emplace_back() để chèn thành công phần tử tại cuối queue.
Cú pháp
myqueue.emplace(value_type &t);
Hàm nhận một tham số là phần tử cần chèn vào queue liên kết.
Giá trị trả về
Hàm này không trả về giá trị.
Ví dụ
Input: queue<int> myqueue = {10, 20, 30, 40}; myqueue.emplace(50); Output: Elements In the queue = 10 20 30 40 50
Ví dụ hoàn chỉnh 1
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> Queue;
Queue.emplace(10);
Queue.emplace(20);
Queue.emplace(30);
Queue.emplace(40);
Queue.emplace(50);
cout << "Elements in Queue are: ";
while (!Queue.empty()) {
cout << ' ' << Queue.front();
Queue.pop();
}
return 0;
}
Kết quả
Elements in Queue are: 10 20 30 40 50
Ví dụ hoàn chỉnh 2 (với string)
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<string> Queue;
Queue.emplace("Welcome");
Queue.emplace("To");
Queue.emplace("Tutorials");
Queue.emplace("Point");
cout << "String is : ";
while (!Queue.empty()) {
cout << ' ' << Queue.front();
Queue.pop();
}
return 0;
}
Kết quả
String is : Welcome To Tutorials Point