方法removeElement()自己实现Vector类

时间:2012-12-17 10:03:23

标签: c++ vector

我必须实现在vector中删除指定元素的方法。有人知道这种方法的算法吗?

我需要它因为brew平台不支持STL。 提前致谢

1 个答案:

答案 0 :(得分:0)

算法非常简单:

for each element in vector
    if element = elemToRemove
        delete it

然后,它使用索引删除。您的数组被分解为:

n+1 is the size of the array
i is the cell to delete

[0][1][2]...[i-1][i][i+1]...[n]
-----------------   -----------
part1               part 2

您必须将每个元素从[i+1]移到[n]朝向数组的开头(=将part 2移向数组的开头),以使数组仍然连续