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

รายการ ::clear() ใน C ++ STL


ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน list::clear() ใน C++

รายการใน STL คืออะไร

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

clea() คืออะไร

list::clear() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว list::clear() ล้างรายการทั้งหมด กล่าวอีกนัยหนึ่ง clear() จะลบองค์ประกอบทั้งหมดที่มีอยู่ในคอนเทนเนอร์รายการและปล่อยให้คอนเทนเนอร์มีขนาด 0

ไวยากรณ์

list_name.clear();

ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ

ผลตอบแทนที่ได้รับ

ฟังก์ชันนี้ไม่ส่งคืนสิ่งใด เพียงลบองค์ประกอบทั้งหมดออกจากคอนเทนเนอร์

ตัวอย่าง

ในโค้ดด้านล่าง เราจะแทรกองค์ประกอบลงในรายการ และหลังจากนั้น เราจะใช้ฟังก์ชันล้างเพื่อล้างรายการทั้งหมดทำให้ว่างเปล่า

#include <iostream>
#include <list>
using namespace std;
int main(){
   list<int> myList = { 10, 20, 30, 40, 50 };
   cout<<"List before applying clear() function";
   for (auto i = myList.begin(); i != myList.end(); ++i)
   cout << ' ' << *i;
   //applying clear() function to clear the list
   myList.clear();
   for (auto i = myList.begin(); i!= myList.end(); ++i)
      cout << ' ' << *i;
   cout<<"\nlist is cleared ";
   return 0;
}

ผลลัพธ์

หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้

List before applying clear() function 10 20 30 40 50
list is cleared

ตัวอย่าง

ในโค้ดด้านล่าง เราจะล้างรายการทั้งหมดโดยใช้ฟังก์ชัน clear() จากนั้นเราจะใส่องค์ประกอบใหม่เข้าไปในรายการอีกครั้งและแสดงเหมือนเดิม

#include <iostream>
#include <list>
using namespace std;
int main (){
   list<int> myList;
   std::list<int>::iterator i;
   myList.push_back (10);
   myList.push_back (20);
   myList.push_back (30);
   cout<<"List before applying clear() function";
   for (auto i = myList.begin(); i != myList.end(); ++i)
      cout << ' ' << *i;
   myList.clear();
   for (auto i = myList.begin(); i!= myList.end(); ++i)
   cout << ' ' << *i;
   cout<<"\nlist is cleared ";
   myList.push_back (60);
   myList.push_back (70);
   cout<<"\nelements in my list are: ";
   for (auto i=myList.begin(); i!=myList.end(); ++i)
      cout<< ' ' << *i;
   return 0;
}

หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้

List before applying clear() function 10 20 30 40 50
list is cleared
Elements in my list are : 60 70