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

📅  最后修改于: 2023-12-03 15:13:56.426000             🧑  作者: Mango

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

在C++ STL中,List是一个双向链表容器,它允许在任意位置进行插入和删除操作。在List中,pop_front()pop_back()是两个非常有用的函数。

pop_front()函数

pop_front()函数用于删除List中的第一个元素。它没有参数,也没有返回值。

list<int> mylist;
mylist.push_back(10);
mylist.push_back(20);

//删除第一个元素
mylist.pop_front();

上面的代码会将List中的第一个元素10删除,List中的元素变成了{20}。

需要注意的是,如果List为空,调用pop_front()函数会导致未定义行为。因此,我们在调用pop_front()函数之前通常需要先检查List是否为空,可以使用empty()函数进行检查。

if(!mylist.empty())
{
    mylist.pop_front();
}
pop_back()函数

pop_back()函数与pop_front()函数类似,用于删除List中的最后一个元素。

list<int> mylist;
mylist.push_back(10);
mylist.push_back(20);

//删除最后一个元素
mylist.pop_back();

上面的代码会将List中的最后一个元素20删除,List中的元素变成了{10}。

同样需要注意,如果List为空,调用pop_back()函数会导致未定义行为。因此,我们在调用pop_back()函数之前也需要先检查List是否为空。

if(!mylist.empty())
{
    mylist.pop_back();
}
总结

List容器的pop_front()pop_back()函数是非常有用的,它们可以很方便地删除List中的元素。但是,在调用这两个函数之前,我们需要先检查List是否为空,以避免未定义行为。