gpt4 book ai didi

c++ - 删除数组中的多个元素

转载 作者:行者123 更新时间:2023-11-30 03:13:51 24 4
gpt4 key购买 nike

我正在尝试编写一个代码,如果数组在不同索引处具有相同元素,则将删除所有元素。它适用于删除一个元素或奇数索引处的元素,即 1、3、5 等,但如果连续索引具有相同元素,它会忽略一个元素。

我刚刚试过这个来接触数组

for(int i=0;i<n;i++)                                     //for deletion
{
if(arr[i]==_delete)
{
arr[i]=arr[i+1];
--n;

}

}

最佳答案

我建议您使用 std::vector 作为对象的容器。

std::vector<TYPE> vec ;
// initialise vector

你可以使用

vec.erase(std::remove_if(vec.begin(), vec.end(),
[](const auto & item){return item == _delete;}), vec.end());

或者,您可以使用 std::list。它的list::erase具有线性时间复杂度。

关于c++ - 删除数组中的多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58378635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com