在C ++ STL中列出front()函数
在本文中,我们将讨论C++中list::front()函数的工作,语法和示例。
什么是STL中的列表?
列表是一种数据结构,允许按时间顺序在任意位置进行插入和删除。列表被实现为双向链接列表。列表允许非连续的内存分配。与数组,向量和双端队列相比,列表在容器中的任何位置执行元素的插入提取和移动效果更好。在列表中,对元素的直接访问很慢,并且列表与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