在本文中,我们将讨论empty()C++中 list::函数的工作原理、语法和示例。
列表是一种数据结构,它允许按顺序在任何地方进行恒定时间插入和删除。列表被实现为双向链表。列表允许非连续内存分配。与数组、向量和双端队列相比,列表在容器中的任何位置执行更好的插入提取和元素移动。在List中直接访问元素很慢,list类似于forward_list,但前向列表对象是单链表,只能向前迭代。
list::empty()是 C++ STL 中的内置函数,它在头文件中声明。list::empty()检查给定的列表容器是否为空(大小为 0),如果列表为空则返回真值,如果列表不为空则返回假值。
bool list_name.empty();
此函数不接受任何值。
如果容器大小为零,则此函数返回 true,如果容器大小不为零,则返回 false。
在下面的代码中,我们将调用一个函数empty()来检查列表是否为空,如果列表为空,则我们将使用push_back()函数将元素插入列表以检查结果。
#include <bits/stdc++.h> using namespace std; int main() { list<int> myList; //创建一个列表 //调用 empty() 函数检查列表是否为空 if (myList.empty()) cout << "my list is empty\n"; else cout << "my list isn’t empty\n"; //push_back() 用于在列表中插入元素 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