กำหนดให้เป็นหน้าที่แสดงการทำงานของฟังก์ชัน forward_list max_size() ใน C++ STL
รายการส่งต่อคืออะไร
รายการส่งต่อสามารถเข้าใจได้ว่าเป็นรายการที่เชื่อมโยงโดยลำพังซึ่งการติดตามสามารถทำได้ในทิศทางไปข้างหน้าเท่านั้น แต่ไม่อยู่ในทิศทางย้อนกลับในขณะที่ในรายการเราสามารถติดตามองค์ประกอบทั้งสองทิศทางเช่นองค์ประกอบถือสองลิงก์หนึ่งสำหรับไปข้างหน้า องค์ประกอบและอีกองค์ประกอบหนึ่งสำหรับองค์ประกอบย้อนกลับ รายการส่งต่อจึงรวดเร็วเนื่องจากต้องเก็บลิงก์เดียวซึ่งจะเป็นองค์ประกอบการส่งต่อ สามารถแทรกและลบองค์ประกอบไปข้างหน้าได้ในเวลาคงที่
ฟังก์ชัน forward_list max_size() คืออะไร
forward_list::reverse( ) เป็นฟังก์ชันใน C++ Standard Template Library(STL) ที่ใช้ในการกลับลำดับขององค์ประกอบที่มีอยู่ในรายการส่งต่อ
ไวยากรณ์
forwardlist_name.reverse( )
พารามิเตอร์
ฟังก์ชันนี้ไม่มีพารามิเตอร์ใดๆ
ผลตอบแทนที่ได้รับ
ฟังก์ชันนี้ไม่มีค่าส่งคืน เพียงดำเนินการย้อนกลับรายการ
ตัวอย่าง
Input-: List of elements are: 57 99 54 34 84 Output–: Reversed elements of list are: 84 34 54 99 57 Input-: List of elements are: 40 30 60 90 70 Output–: Reversed elements of list are: 70 90 60 30 40
แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้
-
เริ่มต้นรายการก่อน
-
จากนั้นเราจะพิมพ์รายการไปข้างหน้าก่อนที่จะใช้ฟังก์ชันย้อนกลับ ()
-
จากนั้นเราจะกำหนดฟังก์ชัน forward.reverse( ) ที่มีอยู่ในไฟล์ส่วนหัวในภาษา C++
-
จากนั้นเราจะแสดงรายการย้อนกลับ
ตัวอย่าง
/*ในโค้ดด้านล่าง เรากำลังสร้างรายการส่งต่อและแทรกองค์ประกอบลงในรายการ ตอนนี้ ภารกิจคือการตรวจสอบขนาดของรายการไปข้างหน้าหลังจากแทรกองค์ประกอบโดยใช้ฟังก์ชัน max_size()*/
#include <bits/stdc++.h> using namespace std; int main() { //creating forward list forward_list<int> myForwardList; //add values to forward list myForwardList.assign(3, 2); cout << "The elements in my forward list are : "; for (auto i=myForwardList.begin(); i!=myForwardList.end();i++) cout << *i << " "; cout << "\nThe size of my Forward List is: " << myForwardList.max_size(); return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
The elements in my forward list are : 2 2 2 The size of my Forward List is: 1152921504606846975
ตัวอย่าง
/*ในโค้ดด้านล่าง เรากำลังสร้างรายการส่งต่อ ตอนนี้ งานคือการตรวจสอบขนาดของรายการส่งต่อโดยใช้ฟังก์ชัน max_size()*/
#include <bits/stdc++.h> using namespace std; int main() { // creating forward list forward_list<int> myForwardList; cout << "\nsize of my forward list is: "<<myForwardList.max_size(); return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
size of my forward list is: 1152921504606846975