在C ++ STL中列出pop_back()函数

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

什么是STL中的列表?

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

什么是list::pop_back()?

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

语法

list_container.pop_back();

此函数不接受任何参数。

返回值

此函数不返回任何内容。

示例

在下面的代码中,我们必须使用pop_back()函数从列表末尾删除该元素。

#include <bits/stdc++.h>
using namespace std;
int main(){
   //创建一个列表
   list<int> myList;
   //将元素插入列表
   myList.push_back(4);
   myList.push_back(9);
   myList.push_back(1);
   myList.push_back(3);
   //弹出元素之前列出
   cout<<"list elements before deletion : ";
   for (auto i = myList.begin(); i != myList.end(); i++)
      cout << *i << " ";
   //从列表末尾删除元素
   myList.pop_back();
   //从结尾删除元素后的列表
   cout << "\nList after deleting element from the end: ";
   for (auto i = myList.begin(); i != myList.end(); i++)
      cout << *i << " ";
   return 0;
}

输出结果

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

list elements before deletion : 4 9 1 3
List after deleting element from the end: 4 9 1

示例

在下面的代码中,我们必须使用pop_back()函数从列表末尾删除元素,并通过删除操作来计算列表中数字的乘积。

#include <bits/stdc++.h>
using namespace std;
int main(){
   list<int> myList;
   int product = 1;
   myList.push_back (40);
   myList.push_back (20);
   myList.push_back (30);
   while (!myList.empty()){
      product*=myList.back();
      myList.pop_back();
   }
   cout<<"The product of elements in my list : "<<product<< '\n';
   return 0;
}

输出结果

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

The product of elements in my list : 24000