ในบทความนี้เราจะพูดถึงการทำงาน ไวยากรณ์และตัวอย่างของฟังก์ชัน 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