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

更新于:2020年3月2日

浏览量:1K+

开启你的职业生涯

完成课程获得认证

开始学习
广告