กำหนดให้เป็นหน้าที่แสดงการทำงานของ list::cbegin() และ list::cend functions ใน C++.
ฟังก์ชัน list::cbegin() และ list::cend() เป็นส่วนหนึ่งของไลบรารีเทมเพลตมาตรฐาน C++
ควรรวมไฟล์ส่วนหัวเพื่อเรียกใช้ฟังก์ชันเหล่านี้
- list::cbegin()
ฟังก์ชันนี้จะคืนค่าตัววนซ้ำคงที่ซึ่งชี้ไปที่องค์ประกอบเริ่มต้นของรายการ สามารถใช้เพื่อสำรวจรายการได้ แต่ไม่สามารถเปลี่ยนค่าในรายการได้ ซึ่งหมายความว่าฟังก์ชัน cbegin() สามารถใช้สำหรับการวนซ้ำเท่านั้น
ไวยากรณ์
List_Name.cbegin();
พารามิเตอร์
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
ผลตอบแทนที่ได้รับ
ฟังก์ชันส่งคืนตัววนซ้ำคงที่ซึ่งชี้ไปที่องค์ประกอบเริ่มต้นของรายการ
- list::cend()
ฟังก์ชันนี้จะคืนค่าตัววนซ้ำคงที่ซึ่งชี้ไปที่องค์ประกอบสิ้นสุดของรายการ สามารถใช้สำหรับ Backtracking รายการ แต่ไม่สามารถเปลี่ยนค่าในรายการได้ ซึ่งหมายความว่าฟังก์ชัน cend() สามารถใช้สำหรับการวนซ้ำเท่านั้น
ไวยากรณ์
List_Name.cend();
พารามิเตอร์
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
ผลตอบแทนที่ได้รับ
ฟังก์ชันส่งคืนตัววนซ้ำคงที่ซึ่งชี้ไปที่องค์ประกอบสุดท้ายของรายการ
ตัวอย่าง
Input: list<int> Lt={4,8,9}
Output: 4 คำอธิบาย − ที่นี่เราสร้างรายการที่มีองค์ประกอบ 4,8,9 จากนั้นเราเรียกฟังก์ชัน cbegin() ที่ชี้ไปที่องค์ประกอบแรกของรายการ
ดังนั้นเมื่อเราพิมพ์ออกมา ผลลัพธ์ที่ได้คือ 4 ซึ่งเป็นองค์ประกอบแรกของรายการ
แนวทางที่ใช้ในโปรแกรมด้านล่างนี้ −
- ขั้นแรกให้สร้างรายการ ให้เราพูดว่า "Ld" ของประเภท int และกำหนดค่าบางอย่างให้กับมัน
- จากนั้นเริ่มการวนซ้ำเพื่อพิมพ์องค์ประกอบในรายการ
- หลังจากนั้นสร้างอ็อบเจ็กต์ "itr" ของประเภท auto ภายในลูป for เพื่อรับค่าส่งคืนของฟังก์ชัน cend() และ cbegin() เริ่มต้น "itr" โดยกำหนดองค์ประกอบแรกของรายการโดยใช้ฟังก์ชัน cbegin()
- จากนั้นระบุเงื่อนไขการสิ้นสุดของลูป for โดยเขียน "itr" ไม่เท่ากับองค์ประกอบสุดท้ายของรายการโดยใช้ฟังก์ชัน cend()
- พิมพ์ค่าของ *itr.
อัลกอริทึม
Start
Step 1->In function main()
Initialize list<int> Lt={}
Loop For auto itr = Lt.cbegin() and itr != Lt.cend() and itr++
Print *itr
End
Stop ตัวอย่าง
#include<iostream>
#include<list>
using namespace std;
int main() {
list<int> Lt = { 4,1,7,9,6 };
//Printing the elements of the list
cout <<"The elements of the list are : " <<"\n";
for (auto itr = Lt.cbegin(); itr != Lt.cend(); itr++)
cout << *itr << " ";
return 0;
} ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
4 1 7 9 6