如何在C++ STL中从List中删除最后一个元素
在C++ STL中,List是一个双向链表容器,它提供了各种操作来管理元素。有时候我们需要删除List中的最后一个元素。接下来,我们将讨论如何在C++ STL中从List中删除最后一个元素。
步骤1:创建一个List并向其中添加元素
要删除最后一个元素,首先需要在List中添加一些元素。下面是一个示例代码,演示如何创建一个List并向其中添加元素:
#include <iostream>
#include <list>
int main()
{
std::list<int> myList;
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
std::cout << "My List contains:";
for (auto& i : myList)
std::cout << ' ' << i;
std::cout << '\n';
return 0;
}
在上面的代码中,我们创建了一个名为myList的List并向其中添加了3个整数。我们使用push_back函数向List中添加元素。然后我们遍历List中的所有元素并将它们打印到控制台上。
步骤2:使用List的pop_back函数删除最后一个元素
下一步是通过使用List的pop_back函数删除最后一个元素。下面是一个示例代码,演示如何删除最后一个元素:
#include <iostream>
#include <list>
int main()
{
std::list<int> myList;
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
std::cout << "My List contains:";
for (auto& i : myList)
std::cout << ' ' << i;
myList.pop_back();
std::cout << "\nAfter deleting last element, My List contains:";
for (auto& i : myList)
std::cout << ' ' << i;
std::cout << '\n';
return 0;
}
在上面的代码中,我们首先创建了一个myList List,并向其中添加了3个整数。我们使用push_back函数向List中添加元素,并使用for循环遍历List中的所有元素,并将它们打印到控制台上。
接着我们调用了myList的pop_back函数来删除最后一个元素。然后我们再次使用for循环遍历List中的所有元素,并将它们打印到控制台上。
最后,我们从控制台上输出了List的内容。可以看到,最后一个元素已经从List中删除了。
步骤3:在循环中删除多个元素
在循环中,我们可以使用pop_back函数删除多个元素,具体操作如下:
#include <iostream>
#include <list>
int main()
{
std::list<int> myList;
myList.push_back(1);
myList.push_back(2);
myList.push_back(3);
myList.push_back(4);
myList.push_back(5);
std::cout << "My List contains:";
for (auto& i : myList)
std::cout << ' ' << i;
std::cout << "\nDeleting last 3 elements...";
for (int i = 0; i < 3; i++)
myList.pop_back();
std::cout << "\nAfter deleting, My List contains:";
for (auto& i : myList)
std::cout << ' ' << i;
std::cout << '\n';
return 0;
}
在上面的代码中,我们在List中添加了5个整数,然后使用for循环遍历List中的所有元素,并将它们打印到控制台上。接着我们使用for循环调用了myList的pop_back函数来删除最后3个元素。
最后,我们再次使用for循环遍历List中的所有元素,并将它们打印到控制台上。可以看到,最后3个元素已经从List中删除了。
结论
在C++ STL中,使用List的pop_back函数可以非常方便地删除List中的最后一个元素。在循环中,我们可以使用pop_back函数删除多个元素。通过这篇文章,希望您能够了解如何在C++ STL中从List中删除最后一个元素,并在今后的编程工作中可以得心应手。