C++ STL 中的 list empty() 函数
在本文中,我们将讨论 C++ 中 list::empty() 函数的工作原理、语法和示例。
什么是 STL 中的 List?
List 是一种数据结构,它允许在序列中的任何位置进行常数时间插入和删除操作。列表以双向链表的形式实现。列表允许非连续内存分配。与数组、向量和双端队列相比,列表在任何位置插入、提取和移动元素方面表现更好。在 List 中,对元素的直接访问速度较慢,并且 List 类似于 forward_list,但 forward list 对象是单向链表,它们只能向前迭代。
什么是 list::empty()?
list::empty() 是 C++ STL 中的一个内置函数,它在头文件中声明。list::empty() 检查给定的列表容器是否为空(大小为 0),如果列表为空则返回 true 值,如果列表不为空则返回 false 值。
语法
bool list_name.empty();
此函数不接受任何值。
返回值
如果容器大小为零,则此函数返回 true;如果容器大小不为零,则返回 false。
示例
在下面的代码中,我们将调用 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
广告