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

แสดงรายการฟังก์ชัน crbegin() และ crend() ใน C++ STL


กำหนดให้เป็นหน้าที่แสดงการทำงานของ list crbegin() และ crend() ฟังก์ชั่นใน C++

ฟังก์ชัน list::crbegin() และ list::crend() เป็นส่วนหนึ่งของไลบรารีเทมเพลตมาตรฐาน C++

ควรรวมไฟล์ส่วนหัวเพื่อเรียกใช้ฟังก์ชันเหล่านี้

  • list::crbegin()

    ฟังก์ชันนี้จะคืนค่าตัววนซ้ำคงที่ซึ่งชี้ไปที่องค์ประกอบสิ้นสุดของรายการซึ่งจะเป็นจุดเริ่มต้นย้อนกลับของรายการ สามารถใช้สำหรับ Backtracking รายการ แต่ไม่สามารถเปลี่ยนค่าในรายการได้ ซึ่งหมายความว่าฟังก์ชัน crbegin() สามารถใช้สำหรับการวนซ้ำเท่านั้น

ไวยากรณ์

List_Name.crbegin()

พารามิเตอร์

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

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

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

  • list::crend()

    ฟังก์ชันนี้จะคืนค่าตัววนซ้ำคงที่ซึ่งชี้ไปที่องค์ประกอบสิ้นสุดของรายการ สามารถใช้สำหรับ Backtracking รายการ แต่ไม่สามารถเปลี่ยนค่าในรายการได้ ซึ่งหมายความว่าฟังก์ชัน crend() สามารถใช้สำหรับการวนซ้ำเท่านั้น

ไวยากรณ์

List_Name.crend()

พารามิเตอร์

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

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

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

ตัวอย่าง

Input: list<int> Lt={99,34,55}
Output: The last element is 55

คำอธิบาย

ที่นี่เราสร้างรายการที่มีองค์ประกอบ 99, 34 และ 55 จากนั้นเราเรียกฟังก์ชัน crbegin() ที่ชี้ไปที่จุดเริ่มต้นย้อนกลับของรายการ นั่นคือจุดสิ้นสุดของรายการ

ดังนั้นเมื่อเราพิมพ์ออกมา ผลลัพธ์ที่ได้คือ 55 ซึ่งเป็นองค์ประกอบสุดท้ายของรายการ

แนวทางที่ใช้ในโปรแกรมด้านล่างดังนี้

  • ขั้นแรกให้สร้างรายการ ให้เราพูดว่า "Ld" ของประเภท int และกำหนดค่าบางอย่างให้กับมัน
  • จากนั้นเริ่มวนซ้ำเพื่อสำรวจรายการ
  • จากนั้นสร้างอ็อบเจ็กต์ "itr" ประเภท auto ภายในลูปเพื่อเก็บค่าส่งคืนของฟังก์ชัน crend() และ crbegin() เริ่มต้น "itr" โดยกำหนดให้เป็นองค์ประกอบแรกของรายการโดยใช้ฟังก์ชัน crend()
  • จากนั้นระบุเงื่อนไขการสิ้นสุดของลูปโดยเขียน "itr" ไม่เท่ากับองค์ประกอบสุดท้ายของรายการโดยใช้ฟังก์ชัน crbegin()
  • พิมพ์ค่าของ *itr.

อัลกอริทึม

Start
Step 1->In function main()
   Initialize list<int> Lt={}
   Loop For auto itr = Lt.crend() and itr != Lt.crbegin() and itr++
   Print *itr
   End
Stop

ตัวอย่าง

#include<iostream>
#include<list>
using namespace std;
int main() {
   list<int> Lt = { 33,44,55,66 };
   //Printing the elements of the list
   cout <<"The elements of the list are : " <<"\n";
   for (auto itr = Lt.crend(); itr != Lt.crbegin(); itr++)
   cout << *itr << " ";
   return 0;
}

ผลลัพธ์

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

The elements of the list are :
4