ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน list::empty() ใน C++
รายการใน STL คืออะไร
รายการเป็นโครงสร้างข้อมูลที่อนุญาตให้แทรกและลบเวลาคงที่ได้ทุกที่ตามลำดับ รายการถูกนำไปใช้เป็นรายการที่เชื่อมโยงเป็นสองเท่า รายการอนุญาตการจัดสรรหน่วยความจำที่ไม่ต่อเนื่องกัน List ทำการดึงการแทรกและย้ายองค์ประกอบได้ดีกว่าในตำแหน่งใดๆ ในคอนเทนเนอร์ มากกว่าอาร์เรย์ เวกเตอร์ และ deque ใน List การเข้าถึงองค์ประกอบโดยตรงนั้นช้าและ list นั้นคล้ายกับ forward_list แต่ออบเจกต์ของรายการส่งต่อเป็นรายการที่เชื่อมโยงเพียงรายการเดียว และสามารถทำซ้ำได้เพียงส่งต่อเท่านั้น
รายการ ::ว่างเปล่า () คืออะไร
list::empty() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งประกาศไว้ในไฟล์ส่วนหัว list::empty() ตรวจสอบว่าคอนเทนเนอร์รายการที่กำหนดว่างเปล่าหรือไม่ (ขนาดเท่ากับ 0) และส่งคืนค่าจริงหากรายการว่างเปล่าและเป็นเท็จหากรายการไม่ว่างเปล่า
ไวยากรณ์
bool list_name.empty();
ฟังก์ชันนี้ไม่รับค่าใดๆ
ผลตอบแทนที่ได้รับ
ฟังก์ชันนี้จะคืนค่า จริง หากขนาดคอนเทนเนอร์เป็นศูนย์ และเป็นเท็จ หากขนาดคอนเทนเนอร์ไม่เป็นศูนย์
ตัวอย่าง
ในโค้ดด้านล่างนี้ เราจะเรียกใช้ฟังก์ชัน empty() เพื่อตรวจสอบว่ารายการว่างหรือไม่ และหากรายการว่างเปล่า เราจะแทรกองค์ประกอบลงในรายการโดยใช้ฟังก์ชัน push_back() เพื่อตรวจสอบผลลัพธ์
#include <bits/stdc++.h> using namespace std; int main() { list<int> myList; //to create a list //call empty() function to check if list is empty or not if (myList.empty()) cout << "my list is empty\n"; else cout << "my list isn’t empty\n"; //push_back() is used to insert element in a list myList.push_back(1); myList.push_back(2); myList.push_back(3); myList.push_back(4); if (myList.empty()) cout << "my list is empty\n"; else cout << "my list is not empty\n"; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
my list is empty my list is not empty
ในโค้ดด้านล่างนี้ เรากำลังพยายามคูณตัวเลขจาก 1-10 และสำหรับสิ่งนั้น -
-
ขั้นแรกให้แทรกองค์ประกอบลงในรายการโดยใช้ฟังก์ชัน push_back()
-
สำรวจรายการจนกว่าจะไม่ว่างเปล่าโดยใช้ฟังก์ชัน empty()
-
พิมพ์ผลลัพธ์
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main (){ list<int> myList; int product = 0; for (int i=1;i<=10;++i) mylist.push_back(i); while (!mylist.empty()){ product *= myList.front(); myList.pop_front(); } cout << "product of numbers from 1-10 is: " <<product << '\n'; return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
product of numbers from 1-10 is: 3628800