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

ฟังก์ชัน list::remove() ใน C++ STL


ในบทความนี้เราจะอภิบายการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน remove() ใน C++

List ใน STL คืออะไร

List เป็นโครงสร้างข้อมูลที่อนุญาตให้แทรกและลบได้ในเวลาคงที่ที่ตำแหน่งใดก็ตามในลำดับ List ถูกนำไปใช้เป็น doubly linked lists List อนุญาตการจัดสรรหน่วยความจำแบบไม่ต่อเนื่อง List ทำงานการแทรก ดึง และย้ายองค์ประกอบได้ดีกว่า array, vector และ deque ใน List การเข้าถึงองค์ประกอบโดยตรงช้า และ list คล้ายกับ forward_list แต่วัตถุ forward_list เป็น singly linked lists และสามารถวนรอบได้เฉพาะไปข้างหน้า

remove() คืออะไร

remove() เป็นฟังก์ชันในตัวใน C++ STL ซึ่งประกาศในไฟล์หัวเรื่อง remove() ใช้ลบค่า/องค์ประกอบเฉพาะจากคอนเทนเนอร์ list ฟังก์ชันรับค่าที่ส่งเป็นพารามิเตอร์และลบองค์ประกอบทั้งหมดที่มีค่านั้นออกจากคอนเทนเนอร์ list ฟังก์ชันเรียก destructor หากขนาดขององค์ประกอบที่ลบมากกว่าขนาดของคอนเทนเนอร์ list

ไวยากรณ์

list_name.remove(const value_type& value);

ฟังก์ชันนี้รับค่าที่จะค้นหาจากคอนเทนเนอร์ list และลบออก

ค่าที่คืน

ฟังก์ชันนี้ไม่คืนค่าอะไร แค่ลบองค์ประกอบออกจากคอนเทนเนอร์

ตัวอย่าง

/* ในโค้ดด้านล่างเราแทรกองค์ประกอบลงใน list แล้วลองลบองค์ประกอบจาก list โดยใช้ค่าของมัน */ 
#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