在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