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

liệt kê hàm emplace () trong C ++ STL

Given là nhiệm vụ để hiển thị hoạt động của hàm list emplace () trong C ++.

Hàm list ::emplace () là một phần của thư viện mẫu chuẩn C ++. Nó được sử dụng để chèn các giá trị bên trong danh sách tại một vị trí được chỉ định bởi người dùng.

Tệp tiêu đề nên được bao gồm để gọi hàm này.

Cú pháp

List_Name.emplace(position,element)

Tham số

Hàm này có hai tham số -

Đầu tiên là vị trí , đại diện cho vị trí tại đó phần tử mới phải được đặt và vị trí thứ hai là giá trị , đại diện cho phần tử phải được chèn vào bên trong danh sách tại vị trí.

Giá trị trả lại

Hàm trả về một trình vòng lặp trỏ đến phần tử mới được chèn vào.

Ví dụ

Input: list<int> L = { 1,2,3 }
Output: 6 1 2 3

Giải thích - Ở đây chúng tôi đã tạo một danh sách “L” kiểu int có các giá trị 1, 2 và 3. Sau đó, chúng tôi tạo đối tượng “itr” sẽ hoạt động như một trình vòng lặp của chúng tôi khi hàm emplace trả về một trình vòng lặp. Chúng tôi đã chọn vị trí bắt đầu của danh sách để đặt phần tử mới được đại diện bởi đối số đầu tiên. Đối số thứ hai của chúng ta là 6 sẽ là phần tử mới được thêm vào để tạo ra kết quả là 6 1 2 3.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau -

  • Đầu tiên, hãy tạo một danh sách kiểu int, chúng ta hãy nói “Lt” và gán cho nó một số giá trị.
  • Sau đó, tạo một đối tượng “itr” kiểu auto và khởi tạo nó bằng cách gọi hàm emplace. “Itr” sẽ là trình lặp sẽ nhận giá trị trả về của hàm emplace ().
  • Sau đó, cung cấp các đối số cho hàm, giả sử đối số đầu tiên sẽ là Lt.end () để chọn vị trí kết thúc của danh sách và đối với đối số thứ hai, giả sử bất kỳ giá trị nào 7.

Thuật toán

Start
Step 1->In function main()
   Initialize list<int> Lt={}
   Initialize auto itr=Lt.emplace(Lt.end(),7)
   Loop For itr=Lt.begin() and itr!=Lt.end() and itr++
   Print *itr
Stop

Ví dụ

#include <iostream>
#include<list>
using namespace std;
int main() {
   list<int> Lt = { 3,4,5 };
   auto itr = Lt.emplace(Lt.begin(),7);
   Lt.emplace(itr,6);
   cout << "The List is: ";
   for (itr = Lt.begin(); itr != Lt.end(); itr++)
   cout << *itr << " ";
   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 -

The List is: 6 7 3 4 5