C++ STL中的forward_list::push_front()和forward_list::pop_front()

C++ STL中的forward_list::push_front()和forward_list::pop_front()

C++ STL中的forward_list是一个单向链表容器,与双向链表容器list相比,它只支持单向遍历,但却更为轻便。在forward_list中,可以使用push_front()方法向链表头部添加元素,也可以使用pop_front()方法删除链表头部的元素。

forward_list::push_front()

push_front()方法用于在forward_list容器的头部插入新元素。它的语法如下:

void push_front(const T& value);
void push_front(T&& value);

其中,const T& valueT&& value均表示要添加到链表头部的值。如果T是传统的整数类型或者字符串类型,添加值非常简单,但是如果T是自定义类型的对象,需要提供相应的构造函数和赋值运算符。

下面是一个简单的例子,展示如何使用push_front()方法向forward_list中添加元素:

#include <iostream>
#include <forward_list>
using namespace std;

int main () {
  forward_list<int> mylist = {10, 20, 30, 40};
  mylist.push_front(5);
  for (int& x: mylist) cout << x << " ";
  return 0;
}

上面的代码演示了如何创建一个包含4个整数元素的forward_list,并使用push_front()方法在头部插入了一个值为5的元素。程序的输出如下:

5 10 20 30 40

forward_list::pop_front()

pop_front()方法用于从forward_list容器的头部移除元素。它的语法如下:

void pop_front();

它没有参数,只需调用该方法即可删除链表头部的元素。

下面是一个简单的例子,展示如何使用pop_front()方法从forward_list中移除元素:

#include <iostream>
#include <forward_list>
using namespace std;

int main () {
  forward_list<int> mylist = {10, 20, 30, 40};
  mylist.pop_front();
  for (int& x: mylist) cout << x << " ";
  return 0;
}

上面的代码演示了如何创建一个包含4个整数元素的forward_list,并使用pop_front()方法移除了头部的元素。程序的输出如下:

20 30 40

结论

forward_list容器提供了向单向链表头部添加元素和从单向链表头部删除元素的方法。由于forward_list容器不支持双向遍历,因此它可以更好地适应某些应用场合的要求。在实际应用中,我们可以根据具体的需求,选择使用push_front()pop_front()方法来操作forward_list容器的头部元素。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

C++ 教程