Questions tagged «stl-algorithm»

5
std :: next_permutation实现说明
我很好奇如何std:next_permutation实现,所以我提取了gnu libstdc++ 4.7版本并清理了标识符和格式以产生以下演示... #include <vector> #include <iostream> #include <algorithm> using namespace std; template<typename It> bool next_permutation(It begin, It end) { if (begin == end) return false; It i = begin; ++i; if (i == end) return false; i = end; --i; while (true) { It j = i; --i; if …

5
如何在C ++中找到两个std :: set的交集?
我一直试图在C ++中找到两个std :: set之间的交集,但是我一直遇到错误。 我为此创建了一个小样本测试 #include <iostream> #include <vector> #include <algorithm> #include <set> using namespace std; int main() { set<int> s1; set<int> s2; s1.insert(1); s1.insert(2); s1.insert(3); s1.insert(4); s2.insert(1); s2.insert(6); s2.insert(3); s2.insert(0); set_intersection(s1.begin(),s1.end(),s2.begin(),s2.end()); return 0; } 后面的程序不会产生任何输出,但是我希望有一个s3具有以下值的新集(我们称它为): s3 = [ 1 , 3 ] 相反,我得到了错误: test.cpp: In function ‘int main()’: test.cpp:19: …

9
为什么C ++标准库中没有transform_if?
想要进行有条件的复制时出现一个用例(1.可使用copy_if),但要从值的容器到指向这些值的指针的容器(2.可以使用transform)。 使用可用的工具,我无法通过不到两个步骤来做到这一点: #include <vector> #include <algorithm> using namespace std; struct ha { int i; explicit ha(int a) : i(a) {} }; int main() { vector<ha> v{ ha{1}, ha{7}, ha{1} }; // initial vector // GOAL : make a vector of pointers to elements with i < 2 vector<ha*> ph; // …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.