cost 103 ms
为什么向量上的“调整大小删除”比“擦除删除”更快?

[英]Why is 'resize-remove' faster than 'erase-remove' on vectors?

当涉及到从容器中删除多个元素时,C++ 中有一个“擦除-删除”惯用语,并且有关于替代“调整大小-删除”方式的讨论,例如, 此处。 人们说“erase-remove”比“resize-remove”好,但根据我的测试,后者在矢量上(稍微)更快。 那么,当涉及到矢量时,我应该使用“resize-rem ...

C++,通过二进制索引从向量中快速删除元素

[英]C++, fast removal of elements from vector by binary index

有几篇文章专注于从向量中快速删除由索引给出的元素。 这个问题代表了该问题的略微修改版本。 有一个元素向量: 和相应的二进制索引: 从向量中删除具有“零索引”的元素的最快方法是什么? 它可能包含数百万个元素。 我尝试使用remove_if()进行实验,但这不正确: ...

从向量中删除重复项会产生意想不到的结果

[英]Removing duplicates from an vector is giving unexpected results

给定一个整数向量,遍历该向量并检查是否有多个相同的数字。 在这种情况下,删除它们,以便只有向量的单个索引包含该数字。 这里有一些例子: 我知道有很多解决方案,但我想用我的方法解决它。 我看过的解决方案使用了很多内置功能,作为初学者我不想太适应这些功能。 我想练习解决问题的能力。 这是我的代码: 问题 ...

(初学者)不知道为什么代码没有给出正确的 output

[英](Beginner) Don't know why code doesn't give correct output

首先,我正在尝试创建一个程序,该程序需要两个字符 arrays 并从第一个字符中删除第二个数组中出现的任何字符。 我添加了评论,以便更容易理解正在发生的事情。 这是 output: 而不是“发布:我”应该是:“发布:我在 fd” 总而言之,我得到了错误的 output 并且我目前不知道如何修复它 ...

function 使用 C 中的指针从数组中删除 integer

[英]function that remove an integer from an array using pointer in C

我有一个问题,我需要编写一个 function 来读取 integer X 和一个 int 类型的数组 A(大小为 N),并从键盘中消除所有出现的 X。例如,输入是: 5 1 2 3 4 3 3 它会返回: 答:1 2 3 4 3 新答:1 2 4 到目前为止我的代码是 但如果你能帮忙,我不 ...

c++ 擦除/删除算法中的指针问题

[英]Issues with pointers in c++ erase/remove algorithm

我一直在尝试创建一个 C++ 程序来查找某个 integer, n 下的所有质数,使用Eratosthenes 算法筛选,如下所示: 创建一个由 2 到 n 之间的整数组成的向量。 从向量的最小元素 2 开始,将其添加到新的素数向量中,然后从整数向量中删除所有 2 的倍数。 使用整数向量的新最小元素 ...

擦除带有不可打印字符的 std::string 上的删除成语抛出异常

[英]Erase remove idiom on a std::string with non-printable characters throws exception

我正在通过管道从另一个进程读取一些文本。 管道将数据返回给变量chBuf但包含许多不可打印的字符。 我尝试使用擦除和删除来删除这些不可打印的字符,但引发了异常。 该程序无需此擦除删除行即可工作。 我可能做错了什么? ...

为什么 std::erase 和 std::erase_if 不支持投影?

[英]Why std::erase and std::erase_if don't support projection?

C++范围很好,但AFAIK他们仍然“受苦”,因为他们不知道修改容器,例如,如果你使用ranges::remove你仍然需要做container.erase(... 现在有一些算法知道如何从容器( std::erase 、 std::erase_if )中std::erase ,但与范围不同的是 ...

使用 Ranges-V3 移除标记为移除的元素

[英]Removing elements marked for removal with Ranges-V3

我有两个向量: remove_flags向量包含一个与data大小完全相同的标志数组,每个标志为 0 或 1,其中 1 表示应删除数据。 我想使用remove_flags从data中删除元素,即执行擦除删除习惯用法,但根据remove_flags中的值进行擦除。 最终结果应该是删除了元素的data ...

从向量中删除双引号<string> c++ 98</string>

[英]To remove double quotes from vector<string> c++ 98

我正在尝试从我的向量字符串值中删除双引号字符。 例如:如果我的向量字符串有值 (50,40,"50GB","40GB",60)。 我正在尝试通过删除双引号(“”)来优化向量。 所以我的最终向量(50,40,50GB,40GB,60)。 下面是我试图让它工作的一段代码,我得到编译问题说......请 ...

如何从向量中删除某些指定值?

[英]How to remove certain specified value from vectors?

mySongs是一个向量,用于存储用户输入的歌曲集合。 在 if 语句中,程序将根据用户输入检查向量中的元素。 如果匹配,它将从向量中删除指定的值。 当我寻找解决方案时,我看到有人建议使用remove/erase idiom: 。 但是当我在我的代码中实现时,它继续弹出这个错误C2678 bin ...

Javascript 中是否有等价于擦除-删除习语?

[英]Is there an equivalent of the erase-remove idiom in Javascript?

如果我在 Javascript 中迭代数组或类数组对象时添加或删除元素,是否需要考虑基础集合可能已更改或迭代器可能已失效? 换句话说,在 Javascript 中是否有等效于 C++ 的Erase-remove 成语? ...

我正在尝试将向量的第 0 个元素与其他元素进行比较,以删除与其相等的其他元素,但我得到了一个意外的 output

[英]I'm trying to compare the 0th element of a vector with other elements to remove the other elements equal to it but I get an unexpected output

所以我想将向量的第 0 个元素与其他元素进行比较,看看它们是否相等,因为我想从向量中删除该元素值的其他实例,例如 {1, 1, 2, 3, 1} 变为 { 1, 2, 3} 这是我写的代码: 我期望的 output 是: 因为它应该删除除第一个之外的 1 的所有实例,但我得到的是: 最后一个 1 ...

C++ Erase-remove Idiom on non-existant value in vector

[英]C++ Erase-remove Idiom on non-existant value in vector

我想从向量中删除一个元素,但不能保证该元素存在。 我在网上查看过,但没有找到有关擦除删除习语如何处理不在容器中的值的信息。 我的向量是这样声明的:(在代码的其他部分中添加/修改了成员) 我想在包含 _members 作为属性的 class 组内创建一个删除方法,以尝试从组中删除给定的人。 我目前正 ...

即使谓词返回 false,remove_if 也会删除元素?

[英]remove_if removes element even when predicate returns false?

我正在写一个八叉树算法。 在函数内部,我遍历八叉树。 我得到节点指针和 Sphere 作为输入。 我检查节点是否应该持有球体,然后我想将它添加到节点s object list and remove it from its parent 。 以下是代码 正如您在 Sphere 中看到的那样,我定义 ...


 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM