ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน forward_list::before_begin() ใน C++
Forward_list ใน STL คืออะไร
รายการส่งต่อคือคอนเทนเนอร์ลำดับที่อนุญาตให้ดำเนินการแทรกและลบเวลาคงที่ที่ใดก็ได้ภายในลำดับ รายการส่งต่อถูกนำไปใช้เป็นรายการที่เชื่อมโยงแบบเดี่ยว การจัดลำดับจะถูกเก็บไว้โดยการเชื่อมโยงไปยังแต่ละองค์ประกอบของลิงก์ไปยังองค์ประกอบถัดไปในลำดับ
fore_list::before_begin() คืออะไร
forward_list::before_begin() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว
ไวยากรณ์
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