C ++ STL中的list :: pop_front()和list :: pop_back()

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

什么是STL中的列表?

列表是一种数据结构,允许按时间顺序在任意位置进行插入和删除。列表被实现为双向链接列表。列表允许非连续的内存分配。与数组,向量和双端队列相比,列表在容器中的任何位置执行元素的插入提取和移动效果都更好。在列表中,对元素的直接访问很慢,并且列表与forward_list相似,但是转发列表对象是单个链接列表,并且只能迭代转发。

什么是forward_list::pop_front()?

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

语法

list_container1.pop_front ();

参数

此函数不接受任何参数。

返回值

此函数不返回任何内容。

示例

Input: list<int> List_container= {10, 11, 13, 15};
      List_container.pop_front();
Output:
      List = 11 13 15

示例

#include <iostream>
#include <list>
using namespace std;
int main(){
   list<int> myList_1 = {}, myList_2 = {};
   myList_1.push_front(10);
   myList_1.push_front(20);
   myList_1.push_front(30);
   myList_1.push_front(40);
   myList_1.push_front(50);
   while (!myList_1.empty()){
      myList_2.push_front(myList_1.front());
      myList_1.pop_front();
   }
   cout<<"Elements in the list are : ";
   for (auto i = myList_2.begin(); i!= myList_2.end(); ++i)
      cout << ' ' << *i;
}

输出结果

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

Elements in the list are : 10 20 30 40 50

什么是list::pop_back()?

list::pop_back()是C ++ STL中的内置函数,在头文件中声明。pop_back()用于从列表容器的后面或最后一个元素中删除/弹出元素。当我们使用pop_back时,它将删除/弹出最后一个元素以及在最后一个元素成为最后一个元素之前的元素,并且列表容器的大小减小1。

语法

list_container.pop_back();

参数

此函数不接受任何参数。

返回值

此函数不返回任何内容。

示例

Input: list<int> List_container= {10, 11, 13, 15};
      List_container.pop_back();
Output:
      List = 10 11 13

示例

#include <iostream>
#include <list>
using namespace std;
int main(){
   list<int> myList_1 = {}, myList_2 = {};
   myList_1.push_front(10);
   myList_1.push_front(20);
   myList_1.push_front(30);
   myList_1.push_front(40);
   myList_1.push_front(50);
   while (!myList_1.empty()){
      myList_2.push_front(myList_1.back());
      myList_1.pop_back();
   }
   cout<<"Elements in the list are : ";
   for (auto i = myList_2.begin(); i!= myList_2.end(); ++i)
      cout << ' ' << *i;
}

输出结果

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

Elements in the list are : 50 40 30 20 10