C++ STL 中的 list front() 函数
在本文中,我们将讨论 C++ 中 list::front() 函数的工作原理、语法和示例。
什么是 STL 中的 List?
List 是一种数据结构,允许在序列中的任何位置进行恒定时间的插入和删除操作。List 使用双向链表实现。List 允许非连续内存分配。与数组、向量和双端队列相比,List 在容器中任何位置插入、提取和移动元素的性能更好。在 List 中,直接访问元素的速度较慢,并且 List 与 forward_list 类似,但 forward_list 对象是单向链表,只能向前迭代。
什么是 list::front()?
list::front() 是 C++ STL 中的一个内置函数,它在 <list> 头文件中声明。front() 返回对列表容器中第一个位置的元素的直接引用。
当我们将此函数与空列表一起使用时,会导致未定义的行为。
语法
list_container.front();
此函数不接受任何参数。
返回值
此函数返回对列表容器中第一个元素的引用。
示例
/* 在下面的代码中,我们尝试使用 front() 函数捕获列表中的第一个元素并显示结果 */
#include <bits/stdc++.h> using namespace std; int main(){ //Create a list list<int> myList; //insert elements to the List myList.push_back(3); myList.push_back(2); myList.push_back(21); myList.push_back(11); //catch the first element of a List int first_ele = myList.front(); cout<<"first element in a list is : "<<first_ele; return 0; }
输出
如果我们运行上面的代码,它将生成以下输出
first element in a list is : 3
示例
/* 在下面的代码中,我们将第一个元素的值替换为最后一个元素的值,为此我们需要访问第一个和最后一个值,这将通过调用 front() 和 back() 函数来完成。 */
#include <iostream> #include <list> int main (){ std::list<int> myList; myList.push_back(77); myList.push_back(2); myList.push_back(21); myList.push_back(23); myList.front() = myList.back(); std::cout << "replacing first element with the last element : " << myList.front() << '\n'; return 0; }
输出
如果我们运行上面的代码,它将生成以下输出
replacing first element with the last element : 23
广告