分享一个删除所有指定元素的方法
来源:2-5 包含,搜索和删除
慕用0058068
2020-08-06
void removeElementAll(T e) {
for (int i = 0; i < size; i++) {
if ( data[i] == e ) {
remove(i);
i--; // 与后面的 i++ 相抵消
}
}
}
写回答
1回答
-
可以。但我要是没有理解错,remove(i) 又是一个 O(n) 的过程。所以整个函数是一个 O(n^2) 的过程了。不过删除所有和 e 相等的元素可以做到 O(n) 解决:)
继续加油!:)
112020-08-07
相似问题