弹出C ++中的任何元素后自动调整数组大小

时间:2016-12-10 19:33:03

标签: c++

在c ++中是否有任何数组类型的数据结构(如矢量,堆栈,队列等),我可以在其中弹出/删除任何索引中的元素,使数组自动调整大小?

示例:

int arr[]={2,5,8,10,6};
arr[2].pop();

然后阵列就会变成这样:

arr[]={2,5,10,6};

1 个答案:

答案 0 :(得分:3)

std::vector有一个erase()方法可以删除给定位置的元素,并减小数组的大小。擦除位置由迭代器指定,但将n添加到begin()以获取它是微不足道的。

但请注意,erase()的复杂性为O(n)