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

forward_list ::before_begin () 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 forward_list ::before_begin () trong C ++.

Forward_list trong STL là gì?

Danh sách chuyển tiếp là các vùng chứa trình tự cho phép các thao tác chèn và xóa theo thời gian liên tục ở bất kỳ đâu trong chuỗi. Danh sách chuyển tiếp được triển khai dưới dạng danh sách được liên kết đơn lẻ. Thứ tự được giữ bởi liên kết đến từng phần tử của liên kết với phần tử tiếp theo trong chuỗi.

forward_list ::before_begin () là gì?

forward_list ::before_begin () là một hàm có sẵn trong C ++ STL được khai báo trong tệp tiêu đề . before_begin () trả về trình lặp đang trỏ đến phần tử trước phần tử đầu tiên trong vùng chứa forward_list.

Cú pháp

forwardlist_container.before_begin();

Hàm này không chấp nhận tham số.

Giá trị trả lại

Hàm này trả về một trình lặp đến vị trí trước khi bắt đầu chuỗi.

Ví dụ

/ * Trong đoạn mã dưới đây, chúng tôi đang tạo một danh sách chuyển tiếp và sau đó sử dụng hàm before_begin (), chúng tôi sẽ trỏ đến phần tử đầu tiên trong danh sách chuyển tiếp và sau đó chúng tôi sẽ cố gắng chèn một phần tử mới vào trước danh sách chuyển tiếp bằng cách sử dụng insert_ after () hàm số. Bây giờ, chúng ta sẽ nhận thấy những thay đổi trong đầu ra. * /

#include <bits/stdc++.h>
using namespace std;
int main() {
   //creating and initializing forward list
   forward_list<int> forwardList = { 3, 6, 1, 2, 4 };
   //calling before_begin function
   auto i = forwardList.before_begin();
   //inserting element before forward list
   forwardList.insert_after(i, 7);
   cout<< "Element of the forward list are:" << endl;
   for (auto j = forwardList.begin(); j != forwardList.end(); ++j)
      cout << *j << " ";
   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

Element of the forward list are:
7 3 6 1 2 4

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   forward_list<int> forwardList = {2, 23, 12, 11};
   forwardList.insert_after(forwardList.before_begin(), 19 );
   cout << "Elements in the forward lists are : ";
   for (auto j = forwardList.begin(); j != forwardList.end(); ++j)
      cout << *j << " ";
   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 the forward lists are : 19 2 23 12 11