กำหนดให้เป็นหน้าที่แสดงรายการฟังก์ชันการทำงาน Remove( ) และรายการฟังก์ชัน remove_if( ) ใน C++ ใน STL
รายการใน STL คืออะไร
รายการคือคอนเทนเนอร์ที่อนุญาตให้แทรกและลบเวลาคงที่ที่ใดก็ได้ตามลำดับ Listare นำไปใช้เป็นรายการที่เชื่อมโยงเป็นสองเท่า รายการอนุญาตการจัดสรรหน่วยความจำที่ไม่ต่อเนื่องกัน List ทำการดึงข้อมูลแทรกและเคลื่อนย้ายองค์ประกอบในตำแหน่งใดๆ ในคอนเทนเนอร์ได้ดีกว่าอาร์เรย์ เวกเตอร์ และ deque ใน List การเข้าถึงองค์ประกอบโดยตรงนั้นช้าและ list นั้นคล้ายกับ toforward_list แต่ออบเจกต์รายการส่งต่อเป็นรายการที่เชื่อมโยงเดี่ยวและสามารถทำซ้ำได้เท่านั้น
remove( ) คืออะไร
ฟังก์ชันนี้ใช้เพื่อลบค่าที่กำหนดที่ส่งผ่านในพารามิเตอร์ไปยังฟังก์ชัน
ไวยากรณ์
listname.remove(val);
พารามิเตอร์
วาล − กำหนดค่าที่จะลบออก
ตัวอย่าง
Input List: 1 2 3 3 4 5 Output New List: 1 2 4 5 In this List element 3 is removed. Input List: 5 6 7 8 8 8 9 Output New List: 5 7 8 8 8 9 In this list element 6 in removed
แนวทางสามารถติดตามได้
-
อันดับแรก เราประกาศรายชื่อ
-
จากนั้นเราก็พิมพ์รายการ
-
จากนั้นเรากำหนดฟังก์ชั่น remove( )
โดยใช้วิธีการข้างต้น เราสามารถลบองค์ประกอบที่กำหนดได้
ตัวอย่าง
// C++ code to demonstrate the working of list remove( ) function in STL #include<iostream.h> #include<list.h> Using namespace std; int main ( ){ List<int> list = { 21, 24, 28, 26, 27, 25 }; // print the list cout<< " list: "; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< *x << " "; // defining remove( ) function list.remove(27); cout<< " New List:”; for( x = list.begin( ); x != list.end( ); ++x) cout<<' " " << *x; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
Input - List: 21 24 28 26 27 25 Output - New List: 21 24 28 26 25 Input – List: 45 46 47 48 49 50 Output – New List: 45 46 48 49 50
ฟังก์ชัน remove_if( ) คืออะไร
ฟังก์ชันนี้ใช้เพื่อลบค่าที่คืนค่าเป็นจริงเป็นเพรดิเคต หรือคืนค่าจริงสำหรับเงื่อนไขที่ส่งผ่านเป็นพารามิเตอร์
ไวยากรณ์
listname.remove_if(predicate)
พารามิเตอร์
ภาคแสดง − มันกำหนดเงื่อนไขจะถูกส่งผ่านเป็นพารามิเตอร์
ตัวอย่าง
Input – List: 5 6 7 8 9 10 Output – New List: 5 7 9 In this list we remove all the even elements. Input – List:5 10 15 20 25 30 Output – New List: 5 15 25 In this List we remove all the elements which is divisible by 10.
แนวทางสามารถติดตามได้
-
ขั้นแรก เราประกาศฟังก์ชันเพรดิเคต
-
แล้วเราก็ประกาศรายชื่อ
-
จากนั้นเราพิมพ์รายการ
-
จากนั้นเราจะประกาศฟังก์ชัน remove_if( )
โดยใช้วิธีการข้างต้น เราสามารถลบองค์ประกอบในเงื่อนไขที่กำหนด ในขณะที่ประกาศฟังก์ชัน remove_if( ) เราส่งเพรดิเคตเป็นพารามิเตอร์
ตัวอย่าง
// C++ code to demonstrate the working of list remove_if( ) function in STL #include<iostream.h> #include<list.h> Using namespace std; Bool div3( const int& val){ return( val % 3) == 0); } int main( ){ List<int> list = { 2, 3, 4, 15, 9, 7, 21, 24, 13 }; cout<< " List: "; for( auto x = list.begin( ); x != list.end( ); ++x) cout<< *x << " "; // declaring remove_if( ) function list.remove_if(div3); cout<< " New List:”; for( x= list.begin( ); x != end( ); ++x) cout<< " " << *x; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
Input – List: 2 3 4 15 9 7 21 24 13 Output – New List: 2 4 7 13