在C++ STL中使用forward_list::front()和forward_list::empty()

在C++ STL中使用forward_list::front()和forward_list::empty()

STL中的forward list实现了单向链表。从C++11开始引入,与其他容器相比,forward list在插入、移除和移动操作(如排序)方面更加有用,并允许元素的时间常数插入和移除。它与list的不同之处在于,forward list只跟踪下一个元素的位置,而list则跟踪下一个和上一个元素的位置。

forward_list::front()

此函数用于引用forward list容器的第一个元素。此函数可用于获取前向列表的第一个元素。

语法:

forwardlistname.front()
参数:
不需要传递任何值作为参数。
返回值:
容器的第一个元素的直接引用。

示例:

输入:forward_list forwardlist{1, 2, 3, 4, 5};
     forwardlist.front();
输出:1

输入:forward_list forwardlist{0, 1, 2, 3, 4, 5};
     forwardlist.front();
输出:0

错误和异常

1.如果前向列表容器为空,它会导致不确定的行为。

2.如果前向列表不为空,它具有无异常抛出保证。

// CPP程序实现
// front()函数
#include <forward_list>
#include <iostream>
using namespace std;
 
int main()
{
    forward_list<int> myforwardlist{ 1, 2, 3, 4, 5 };
    cout << myforwardlist.front();
    return 0;
}  

输出:

1

时间复杂度: O(n)

forward_list::empty()

empty()函数用于检查前向列表容器是否为空。

语法:

forwardlistname.empty()
参数:
不传递参数。
返回值:
如果列表为空,则为真,否则为假。

示例:

输入:forward_list forwardlist{1, 2, 3, 4, 5};
     forwardlist.empty();
输出:False

输入:forward_list forwardlist{};
     forwardlist.empty();
输出:True

错误和异常

1.它具有无异常抛出的保证。

2.当传递参数时会显示错误。

// CPP程序实现
// empty()函数
#include <forward_list>
#include <iostream>
using namespace std;
 
int main()
{
    forward_list<int> myforwardlist{};
    if (myforwardlist.empty()) {
        cout << "True";
    }
    else {
        cout << "False";
    }
    return 0;
}  

输出:

True

应用- front()和empty(): 给定一个整数列表,求所有整数的和。

输入:1, 5, 6, 3, 9, 2
输出:26
说明- 1+5+6+3+9+2 = 26_

算法:

  1. 检查forward list是否为空,如果不是则将前面的元素添加到初始化为0的变量中,并弹出前面的元素。

  2. 重复此步骤,直到前向列表为空。

  3. 输出变量的最终值。

// CPP程序,说明
// empty()函数的应用
# include <forward_list>
# include <iostream>
using namespace std;
 
int main()
{
    int sum = 0;
    forward_list<int> myforwardlist{ 1, 5, 6, 3, 9, 2 };
    while(!myforwardlist.empty()) {
        sum = sum + myforwardlist.front();
        myforwardlist.pop_front();
    }
    cout << sum;
    return 0;
}  

输出

26

让我们以表格的形式看看它们之间的差异-:

ID forward_list :: front() forward_list :: empty()
1 它用于返回forward_list容器中的第一个元素的引用。 它用于检查forward_list容器是否为空。
2 它的语法是-: reference front(); 它的语法是-:empty();
3 它不需要任何参数。 它不需要任何参数。
4 它的复杂度为常数。 它的复杂度为常数。
5 它的迭代器有效性不会改变。 它的迭代器有效性不会改变。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程