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

forward_list emplace_ after () và emplace_front () trong C ++ STL

Given là nhiệm vụ để hiển thị hoạt động của các hàm forward_list ::emplace_osystem () và forward_list ::emplace_front () trong c ++.

Danh sách chuyển tiếp chỉ giữ liên kết với phần tử tiếp theo không giống như danh sách bình thường giữ liên kết với phần tử tiếp theo cũng như trước đó, giúp lặp lại theo cả hai hướng. Nhưng forward_list chỉ có thể lặp lại theo hướng phía trước.

Các hàm forward_list ::emplace_osystem () và forward_list ::emplace_front () là một phần của thư viện chuẩn c ++.

Hàm forward_list ::emplace_osystem () được sử dụng để chèn một phần tử mới vào bên trong danh sách sau phần tử có vị trí được chỉ định bên trong đối số

Hàm forward_list ::emplace_front () được sử dụng để chèn một phần tử vào đầu danh sách.

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

forward_list ::emplace_osystem ()

Cú pháp

Forward_List_Name.emplace_after(iterator , element);

Tham số

Hàm chấp nhận hai tham số -

Trình lặp lại , trình vòng lặp chứa vị trí mà tại đó phần tử mới phải được đặt.

Phần tử , nó chứa phần tử phải được đặt.

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 đặt bên trong danh sách chuyển tiếp.

forward_list ::emplace_front ()

Cú pháp

Forward_List_Name.emplace_front(element);

Tham số

Hàm chấp nhận một tham số.

Giá trị trả lại

Hàm không trả về bất kỳ thứ gì.

Ví dụ

Input: 11,34,56
Output: 41 11 34 56

Giải thích -

Ở đây chúng tôi đã tạo một danh sách chuyển tiếp Lt với các phần tử 11,34,56. Sau đó, chúng tôi gọi hàm emplace_front () được sử dụng để chèn một phần tử mới vào đầu danh sách chuyển tiếp và ở đây phần tử đó là 41.

Vì vậy, khi chúng tôi in danh sách chuyển tiếp, đầu ra được tạo ra là 41 11 34 56 có phần tử đầu tiên là 41.

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, chúng ta hãy nói “Lt” thuộc loại int và gán cho nó một số giá trị.
  • Sau đó, gọi hàm emplace_front () để đặt một phần tử mới ở đầu danh sách.
  • Sau đó, tạo một đối tượng kiểu auto, giả sử “itr” sẽ hoạt động như một trình vòng lặp của chúng tôi để lưu trữ vị trí sẽ được chuyển vào vị trí emplace_ after (), bên cạnh phần tử mới của chúng tôi sẽ được đặt. Hãy cho itr một vị trí, hãy để chúng tôi nói, ở cuối danh sách.
  • Sau đó, gọi hàm emplace_osystem () để nhập phần tử tại một vị trí được chỉ định. Đối số đầu tiên phải là trình lặp “itr” chỉ định vị trí trong danh sách và đối số thứ hai phải là phần tử được đặt tại vị trí đó.

Thuật toán

Start
Step 1->In function main()
   Initialize forward_list<int> Lt={}
   Call function Lt.emplace_front()
   Initialize auto itr=Lt.end();
   Call Lt.emplace_after(itr , element)
   End
Stop

Ví dụ

#include<iostream>
#include<list>
using namespace std;
int main() {
   forward_list<int> Lt = { 5,6,7,8 };
   //Using the emplace_front() function to place element at the beginning.
   Lt.emplace_front(3);
   auto itr = Lt.end();
   /*Using the emplace_after() function to place an element after the location specified*/
   Lt.emplace_after(itr , 10)
   //Displaying the list
   for(auto 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 -

3 5 6 7 8 10