ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน remove() ใน C++
รายการใน STL คืออะไร
รายการเป็นโครงสร้างข้อมูลที่อนุญาตให้แทรกและลบเวลาคงที่ได้ทุกที่ตามลำดับ รายการถูกนำไปใช้เป็นรายการที่เชื่อมโยงเป็นสองเท่า รายการอนุญาตการจัดสรรหน่วยความจำที่ไม่ต่อเนื่องกัน List ทำการดึงการแทรกและย้ายองค์ประกอบได้ดีกว่าในตำแหน่งใดๆ ในคอนเทนเนอร์ มากกว่าอาร์เรย์ เวกเตอร์ และ deque ใน List การเข้าถึงองค์ประกอบโดยตรงนั้นช้าและ list นั้นคล้ายกับ forward_list แต่ออบเจกต์ของรายการส่งต่อเป็นรายการที่เชื่อมโยงเพียงรายการเดียว และสามารถทำซ้ำได้เพียงส่งต่อเท่านั้น
remove() คืออะไร
remove() เป็นฟังก์ชัน inbuilt ใน C ++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว ลบ () ใช้เพื่อลบค่า / องค์ประกอบใด ๆ ออกจากคอนเทนเนอร์รายการ ใช้ค่าที่ส่งผ่านเป็นพารามิเตอร์และลบองค์ประกอบทั้งหมดที่มีค่านั้นออกจากคอนเทนเนอร์รายการ ฟังก์ชันเรียกใช้ destructor หากขนาดขององค์ประกอบที่ถูกลบออกมากกว่าขนาดของคอนเทนเนอร์รายการ
ไวยากรณ์
list_name.remove(const value_type& value);
ฟังก์ชันนี้ยอมรับค่าที่จะค้นหาจากคอนเทนเนอร์รายการและจะถูกลบออก
ผลตอบแทนที่ได้รับ
ฟังก์ชันนี้ไม่ส่งคืนสิ่งใด เพียงลบองค์ประกอบออกจากคอนเทนเนอร์
ตัวอย่าง
/*
In the code below we are inserting elements to the list and then we will try to remove the elements from the list using their values. */
#include <bits/stdc++.h>
using namespace std;
int main(){
//create a list
list<int> myList;
//insert elements to the List
myList.push_back(1);
myList.push_back(1);
myList.push_back(3);
myList.push_back(2);
myList.push_back(5);
//my list before removing elements
cout<<"List before removing elements: ";
for (auto i = myList.begin(); i!=myList.end(); i++){
cout << *i << " ";
}
//deleting 1 2 and 3 from the list
myList.remove(1);
myList.remove(2);
myList.remove(3);
// List after removing elements
cout << "\nList after removing elements: ";
for (auto i = myList.begin(); i!= myList.end(); i++){
cout << *i << " ";
}
return 0;
} ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
List before removing elements: 1 1 3 2 5 List after removing elements: 5