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