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

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

什么是STL中的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};
   //使用push_front()函数将元素插入列表的开头
   forwardList.push_front(78);
   cout<<"Forward List contains: ";
   for (auto i = forwardList.begin(); i != forwardList.end(); ++i)
      cout << ' ' << *i;
   //排序操作后列出
   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 };
   //应用弹出操作之前列出
   cout<<"应用弹出操作之前列出 : ";
   for(auto i = forwardList.begin(); i != forwardList.end(); ++i)
      cout << ' ' << *i;
   //应用弹出操作后列出
   cout<<"\n应用弹出操作后列出 : ";
   forwardList.pop_front();
   for (auto j = forwardList.begin(); j != forwardList.end(); ++j)
      cout << ' ' << *j;
}

输出结果

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

应用弹出操作之前列出 : 10 20 30
应用弹出操作后列出 : 20 30