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
广告