Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

forward_list::before_begin() ใน C++ STL


ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน forward_list::before_begin() ใน C++

Forward_list ใน STL คืออะไร

รายการส่งต่อคือคอนเทนเนอร์ลำดับที่อนุญาตให้ดำเนินการแทรกและลบเวลาคงที่ที่ใดก็ได้ภายในลำดับ รายการส่งต่อถูกนำไปใช้เป็นรายการที่เชื่อมโยงแบบเดี่ยว การจัดลำดับจะถูกเก็บไว้โดยการเชื่อมโยงไปยังแต่ละองค์ประกอบของลิงก์ไปยังองค์ประกอบถัดไปในลำดับ

fore_list::before_begin() คืออะไร

forward_list::before_begin() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว before_begin() ส่งคืนตัววนซ้ำซึ่งชี้ไปที่องค์ประกอบก่อนองค์ประกอบแรกในคอนเทนเนอร์ forward_list

ไวยากรณ์

forwardlist_container.before_begin();

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

ผลตอบแทนที่ได้รับ

ฟังก์ชันนี้จะคืนค่าตัววนซ้ำไปยังตำแหน่งก่อนเริ่มลำดับ

ตัวอย่าง

/*ในโค้ดด้านล่างนี้ เรากำลังสร้างรายการส่งต่อ จากนั้นใช้ฟังก์ชัน before_begin() เราจะชี้ไปที่องค์ประกอบแรกในรายการส่งต่อ จากนั้นเราจะพยายามแทรกองค์ประกอบใหม่ไว้หน้ารายการส่งต่อโดยใช้ insert_after () การทำงาน. ตอนนี้เราจะสังเกตเห็นการเปลี่ยนแปลงในผลลัพธ์ */

#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;
}

ผลลัพธ์

หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้

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

ตัวอย่าง

#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;
}

ผลลัพธ์

หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้

Elements in the forward lists are : 19 2 23 12 11