back_erase

如果不在乎元素的顺序,可以把要删除的元素和最后一个元素 swap,然后 pop_back。复杂度:O(1)

1
2
3
4
5
// 把 v[3] 和 v[v.size() - 1] 位置对调
swap(v[3], v[v.size() - 1]);
// 然后删除 v[v.size() - 1]
v.pop_back();

这样就不用移动一大堆元素了。这被称为 back-swap-erase。


back_erase
https://lhish.github.io/project/hide/back_erase/
作者
lhy
发布于
2025年8月16日
许可协议