กำหนดให้เป็นหน้าที่แสดงการทำงานของฟังก์ชัน forward_list::reverse( ) ใน C++ STL
รายการส่งต่อคืออะไร
รายการส่งต่อสามารถเข้าใจได้ว่าเป็นรายการที่เชื่อมโยงโดยลำพังซึ่งการติดตามสามารถทำได้ในทิศทางไปข้างหน้าเท่านั้น แต่ไม่อยู่ในทิศทางย้อนกลับในขณะที่ในรายการเราสามารถติดตามองค์ประกอบทั้งสองทิศทางเช่นองค์ประกอบถือสองลิงก์หนึ่งสำหรับไปข้างหน้า องค์ประกอบและอีกองค์ประกอบหนึ่งสำหรับองค์ประกอบย้อนกลับ รายการส่งต่อจึงรวดเร็วเนื่องจากต้องเก็บลิงก์เดียวซึ่งจะเป็นองค์ประกอบการส่งต่อ สามารถแทรกและลบองค์ประกอบไปข้างหน้าได้ในเวลาคงที่
ฟังก์ชัน forward_list::reverse( ) คืออะไร
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++
-
จากนั้นเราจะแสดงรายการย้อนกลับ
ตัวอย่าง
// C++ code to demonstrate the working of forward_list::reverse( ) #include<iostream.h> #include<forward_list.h> Using namespace std; Int main( ){ // initializing forward list forward_list<int> forward = {10,20,30,40,50}; cout<< “ List of elements : ”; for(auto it = forward.start( ); it != forward.end( ); ++it) cout<< *it<< “ “; // defining of function that performs the reverse operation forward.reverse( ); cout<< “ Reversed elements list”; for( auto it =forward.start( ); it != forward.end( ); ++it) cout<< *it<< “ “; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
Reversed elements list : 50 40 30 20 10