C++ STL 中的 list::push_front() 和 list::push_back()


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

什么是 STL 中的列表?

列表是一种数据结构,允许在序列中的任何位置进行恒定时间的插入和删除操作。列表实现为双向链表。列表允许非连续内存分配。与数组、向量和双端队列相比,列表在容器中任何位置的元素插入、提取和移动方面性能更好。在列表中,直接访问元素的速度较慢,列表类似于 forward_list,但 forward_list 对象是单向链表,只能向前迭代。

什么是 list::push_front()?

list::push_front() 是 C++ STL 中一个内置函数,在头文件中声明。push_front() 用于将元素推入/插入到列表容器的前面,即开头。通过在前面推送新元素,现有的第一个元素将成为第二个元素,插入的元素成为第一个元素,列表的大小也增加 1。

语法

list_container1.push_front (type_t& value);

参数

此函数接受一个参数,即我们要插入到列表开头的值。

返回值

此函数不返回任何值。

示例

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

示例

 在线演示

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

输出

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

Elements in the list are : 10 20 30 40 50

什么是 list::push_back()?

list::push_back() 是 C++ STL 中一个内置函数,在头文件中声明。push_back() 用于将元素推入/插入到列表容器的后面,即结尾。通过在结尾推送新元素,现有的最后一个元素将成为倒数第二个元素,插入的元素成为最后一个元素,列表的大小也增加 1。

语法

list_container1.push_front (type_t& value);

参数

此函数接受一个参数,即我们要插入到列表开头的值。

返回值

此函数不返回任何值。

示例

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

示例

 在线演示

#include <iostream>
#include <list>
using namespace std;
int main(){
   list<int> myList{};
   myList.push_back(10);
   myList.push_back(20);
   myList.push_back(30);
   myList.push_back(40);
   myList.push_back(50);
   myList.sort();
      cout<<"Elements in the list are : ";
   for (auto i = myList.begin(); i!= myList.end(); ++i)
      cout << ' ' << *i;
}

示例

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

Elements in the list are :10 20 30 40 50

更新于:2020年3月6日

3K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告