cost 352 ms
如何用基于 STL 的算法或基于范围的循环替换 for 循环? - How to replace a for-loop with STL based algorithm or range based loop?

给定一个包含一些 3d integer 数据的顶点的 std::vector: 我想计算一对相邻顶点之间的距离: 我有以下 for 循环: 注意+=2。 我可以使用任何 STL 算法来代替这个循环吗? 或者这甚至可以转换为基于范围的循环? 这个问题不同于:stackoverflow.com/q/8 ...

如何转换 std::vector<T> 到对 std::vector 的向量<std::pair<T,T> &gt; 使用 STL 算法? - How can I convert std::vector<T> to a vector of pairs std::vector<std::pair<T,T>> using an STL algorithm?

我有一个整数向量: 鉴于values.size()将始终是偶数。 我只是想将相邻元素转换成一对,如下所示: 即,两个相邻的元件连接成一对。 我可以使用什么 STL 算法轻松实现这一目标? 是否可以通过一些标准算法来实现这一点? 当然,我可以很容易地编写一个老式的索引for循环来实现这一 ...

如何在一次字符串中擦除非字母字符并小写字母字符? - How to erase non-alpha chars and lowercase the alpha chars in a single pass of a string?

给定一个字符串: 是否可以将其转换为小写并一次性删除所有非字母字符? 预期结果: 我知道您可以使用std::transform(..., ::tolower)和string.erase(remove_if())组合进行两次传递,或者可以通过迭代每个字符手动完成,但是有没有办法做一些可以结合 ...

为什么 STL 的 next_permutation 实现不使用二分查找? - Why doesn't STL's implementation of next_permutation use the binary search?

在阅读了std::next_permutation Implementation Explanation的优秀答案后,我提出了这个问题。 请参阅该帖子以了解 STL 使用的算法的说明,但我将在此处复制代码以供您参考 我们来看看这部分 根据我的理解,这种线性扫描可以用二分搜索代替,因为通过构造 ...

算法名称?:连接由 function 返回的范围,应用于范围的每个元素 - Algorithm name?: Concatenate the ranges returned by a function applied to each element of a range

也许我错过了一些东西。 &lt;algorithm&gt;中是否有 function 可以做到这一点? 如果不是,你会怎么称呼它? 它似乎是一种特殊的变换归约风格,非常具体,需要一个名字: 也就是说,如果我这样做 我会得到3, 5, 5, 7, 7, 7 。 类似的事情可以用std::transf ...

C++算法库如何检查output的范围,小于输入范围时不产生段错误? - How does the C++ algorithm library check the range of the output and not create segfaults when it is smaller than the range of the input?

我只是好奇,当您只提供输入范围时,一些 C++ 算法如何检查结果/输出容器的范围? 例如,对于以下代码#include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;vector&gt; int main() { std:: ...

是否有类似 std::remove() 的东西不保留向量的保留元素的顺序? - Is there something like std::remove() which does not preserve the order of retained elements of a vector?

在 C++14 中,我有一个std::vector值,我想删除与给定值匹配的所有元素,并且我不关心在删除后保留元素的顺序。 std::remove的规范规定保留剩余元素的相对顺序。 是否有内置算法可以执行std::remove之类的操作,但不保留顺序? 我希望这样做,因为只需将向量末尾的元素交换 ...

避免手动创建 lambda 来包装对 new[]: 的调用,以用作 std::generate 中的生成器函数 - Avoid manual creation of lambda to wrap the call to new[]: to be used as a generator function in std::generate

精简版 目前,我为new []手动创建了一个 lambda 函数,如下所示: 此 lambda 稍后在对std::generate的调用中用作生成器函数: 我可以避免创建这个 lambda 并使用一些更标准的功能/语法糖/替代品吗? 首选C++17; 然而,如果 C++20(或一些提案)提供 ...

C++ std::string starts_with/ends_with 不区分大小写的版本? - C++ std:: string starts_with/ends_with case insensitive versions?

C++20 向 std::string 添加了starts_with 、ends_with 。 有一个很好的方式来获得它是案件敏感? 请注意,性能很重要,所以我不想小写/大写两个字符串(或std::min(len1, len2)部分)。 与常规&lt;algorithm&gt;算法不同, s ...

按数字排序数字 - Sorting numbers digit wise

我有 N 个数字,我想按数字对每个数字进行排序。 (在我最初的问题中,我想通过这些(贪婪的方法)获得最大的数字)例如 - 如果我们有 5 个数字 9 1000 845 8000 56 在第一步中,我将选择 9,因为 9 是所有数字的第一位在第二步(因为已经选择了 9),下一个最高的第一个数字是 8 ...

使用 back_inserter 从结构的单个成员创建向量 - Using back_inserter to create vector from single member of struct

我想知道是否可以使用std::back_inserter从更复杂的结构中创建仅包含单个元素的向量。 例如,在以下代码中: 到目前为止,我找到的唯一解决方案是创建一个转换运算符Person -&gt; std::string : 但如果我想将first_name和last_name提取到两个向 ...


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