STL deque删除元素

STL deque删除元素教程

如果我们需要删除 STL 中的 deque 容器中的元素,我们可以使用 pop_back 函数、使用 pop_front 函数、使用 erase 函数和使用 clear 函数。

STL deque删除元素详解

语法

函数 功能
pop_back() 移除容器尾部的一个元素。
pop_front() 移除容器头部的一个元素。
erase(pos) 移除一个元素或某一区域内的多个元素。
clear() 删除容器中所有的元素。

案例

deque pop_back

使用 pop_back 给 deque 删除元素

#include <iostream> #include <deque> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; deque<string> deq{"Hello", "World", "HaiCoder", "www.haicoder.net"}; deq.pop_back(); for (auto&& value : deq) { cout << value << " "; } cout << endl; deq.pop_back(); for (auto&& value : deq) { cout << value << " "; } cout << endl; return 0; }

因为,这里需要使用 C++ 11,因此,我们在 Linux 下使用 g++ 进行编译,具体命令如下:

g++ deque.cpp -std=c++11

编译后,我们直接运行生成的二进制文件 a.out,如下图所示:

55_C STL deque删除元素.png

我们看到,我们使用了 deque 的 pop_back 删除了最后一个元素。

deque pop_front

使用 pop_front 给 deque 删除元素

#include <iostream> #include <deque> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; deque<string> deq{"Hello", "World", "HaiCoder", "www.haicoder.net"}; deq.pop_front(); for (auto&& value : deq) { cout << value << " "; } cout << endl; deq.pop_front(); for (auto&& value : deq) { cout << value << " "; } cout << endl; return 0; }

编译后,我们直接运行生成的二进制文件 a.out,如下图所示:

56_C STL deque删除元素.png

我们看到,我们使用了 deque 的 pop_front 删除了第一个元素。

deque erase

使用 erase 给 deque 删除元素

#include <iostream> #include <deque> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; deque<string> deq{"Hello", "World", "HaiCoder", "www.haicoder.net"}; deq.erase(deq.begin(), deq.begin()+1); for (auto&& value : deq) { cout << value << " "; } cout << endl; deq.erase(deq.begin(), deq.begin()+1); for (auto&& value : deq) { cout << value << " "; } cout << endl; return 0; }

编译后,我们直接运行生成的二进制文件 a.out,如下图所示:

57_C STL deque删除元素.png

我们看到,我们使用了 deque 的 erase 加上迭代器删除了 deque 的元素。

deque clear

使用 clear 清空 deque 元素

#include <iostream> #include <deque> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; deque<string> deq{"Hello", "World", "HaiCoder", "www.haicoder.net"}; deq.clear(); cout << "Size = " << deq.size() << endl; return 0; }

编译后,我们直接运行生成的二进制文件 a.out,如下图所示:

58_C STL deque删除元素.png

我们看到,我们使用了 deque 的 clear 方法清空了 deque 的元素。

STL deque删除元素总结

如果我们需要删除 STL 中的 deque 容器中的元素,我们可以使用 pop_back 函数、使用 pop_front 函数、使用 erase 函数和使用 clear 函数。