📜  C++ STL中的list :: front()和list :: back()(1)

📅  最后修改于: 2023-12-03 14:59:46.530000             🧑  作者: Mango

C++ STL中的list :: front()和list :: back()

在C++标准模板库(STL)中,std::list是一个双向链表的容器。该容器提供了访问链表的头部和尾部元素的功能,分别通过front()back()成员函数来实现。以下是关于这两个函数的详细介绍。

list::front()

front()函数用于访问双向链表的第一个元素。语法如下:

value_type& front();
const value_type& front() const;

函数返回一个引用,可以用来读取或修改链表最前面的元素。注意,如果链表为空,则调用front()函数将导致未定义行为。

示例代码:

#include <iostream>
#include <list>

int main() {
    std::list<int> myList = {1, 2, 3, 4, 5};

    std::cout << "第一个元素是: " << myList.front() << std::endl;

    return 0;
}

输出结果:

第一个元素是: 1
list::back()

back()函数用于访问双向链表的最后一个元素。语法如下:

value_type& back();
const value_type& back() const;

函数返回一个引用,用于读取或修改链表最后一个元素。同样地,如果链表为空,则调用back()函数将导致未定义行为。

示例代码:

#include <iostream>
#include <list>

int main() {
    std::list<int> myList = {1, 2, 3, 4, 5};

    std::cout << "最后一个元素是: " << myList.back() << std::endl;

    return 0;
}

输出结果:

最后一个元素是: 5
总结

std::list容器提供了方便地访问双向链表的头部和尾部元素的功能。通过front()back()函数可以在常数时间内访问链表的第一个和最后一个元素。请注意在使用这两个函数时,确保链表不为空,以避免未定义行为。