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


在本文中,我们将讨论 C++ 中 forward_list::push_front() 和 forward_list::pop_front() 函数的工作原理、语法和示例。

什么是 STL 中的 Forward_list?

Forward list 是一种序列容器,允许在序列中的任何位置进行常数时间插入和删除操作。Forward list 以单向链表的形式实现。顺序由每个元素与序列中下一个元素的链接来维护。

什么是 forward_list::push_front()?

forward_list::push_front() is an inbuilt function in C++ STL which is declared in
header file. push_front() is used to push/insert an element or a value in the front or at the
beginnig of the forward_list. When we use this function the first element which is already in the
container becomes the second, and the element pushed becomes the first element of the
forward_list container and the size of the container is increased by 1.

语法

flist_container1.push_front (const value_type& value );

此函数只能接受一个参数,即要插入到开头位置的值。

返回值

此函数不返回任何值。

push_front()

示例

在下面的代码中,我们使用 push_front() 操作将元素插入到列表的开头,然后使用 sort() 函数对列表元素进行排序。

实时演示

#include <forward_list>
#include <iostream>
using namespace std;
int main(){
   forward_list<int> forwardList = {12, 21, 22, 24};
   //inserting element in the front of a list using push_front() function
   forwardList.push_front(78);
   cout<<"Forward List contains: ";
   for (auto i = forwardList.begin(); i != forwardList.end(); ++i)
      cout << ' ' << *i;
   //list after applying sort operation
   forwardList.sort();
   cout<<"\nForward List after performing sort operation : ";
   for (auto i = forwardList.begin(); i != forwardList.end(); ++i)
      cout << ' ' << *i;
}

输出

如果我们运行以上代码,它将生成以下输出

Forward List contains: 78 12 21 22 24
Forward List after performing sort operation : 12 21 22 24 78

什么是 forward_list::pop_front()?

forward_list::pop_front() 是 C++ STL 中的一个内置函数,它在 <forward_list> 头文件中声明。pop_front() 用于弹出/删除 forward_list 开头的元素。当我们使用此函数时,容器中已存在的第一个元素将被删除,第一个元素的下一个元素成为 forward_list 容器的第一个元素,并且容器的大小减少 1。

语法

flist_container1.pop_front ();

此函数不接受任何参数

返回值

此函数不返回任何值。

pop_front()

示例

在下面的代码中,我们使用 C++ STL 中存在的 pop_front() 操作删除列表的第一个元素。

实时演示

#include <forward_list>
#include <iostream>
using namespace std;
int main(){
   forward_list<int> forwardList = {10, 20, 30 };
   //List before applying pop operation
   cout<<"list before applying pop operation : ";
   for(auto i = forwardList.begin(); i != forwardList.end(); ++i)
      cout << ' ' << *i;
   //List after applying pop operation
   cout<<"\nlist after applying pop operation : ";
   forwardList.pop_front();
   for (auto j = forwardList.begin(); j != forwardList.end(); ++j)
      cout << ' ' << *j;
}

输出

如果我们运行以上代码,它将生成以下输出

list before applying pop operation : 10 20 30
list after applying pop operation : 20 30

更新于: 2020-03-02

245 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告