Common sorted list: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add J) |
Not a robot (talk | contribs) (Add C++) |
||
Line 114: | Line 114: | ||
[5,1,3,8,9,4,8,7],[3,5,9,8,4],[1,3,7,9] : 1 3 4 5 7 8 9 |
[5,1,3,8,9,4,8,7],[3,5,9,8,4],[1,3,7,9] : 1 3 4 5 7 8 9 |
||
</pre> |
</pre> |
||
=={{header|C++}}== |
|||
<lang cpp>#include <iostream> |
|||
#include <vector> |
|||
#include <set> |
|||
#include <algorithm> |
|||
template<typename T> |
|||
std::vector<T> common_sorted_list(const std::vector<std::vector<T>>& ll) { |
|||
std::set<T> resultset; |
|||
std::vector<T> result; |
|||
for (auto& list : ll) |
|||
for (auto& item : list) |
|||
resultset.insert(item); |
|||
for (auto& item : resultset) |
|||
result.push_back(item); |
|||
std::sort(result.begin(), result.end()); |
|||
return result; |
|||
} |
|||
int main() { |
|||
std::vector<int> a = {5,1,3,8,9,4,8,7}; |
|||
std::vector<int> b = {3,5,9,8,4}; |
|||
std::vector<int> c = {1,3,7,9}; |
|||
std::vector<std::vector<int>> nums = {a, b, c}; |
|||
auto csl = common_sorted_list(nums); |
|||
for (auto n : csl) std::cout << n << " "; |
|||
std::cout << std::endl; |
|||
return 0; |
|||
}</lang> |
|||
{{out}} |
|||
<pre>1 3 4 5 7 8 9</pre> |
|||
=={{header|F_Sharp|F#}}== |
=={{header|F_Sharp|F#}}== |
||
Line 125: | Line 162: | ||
[1; 3; 4; 5; 7; 8; 9] |
[1; 3; 4; 5; 7; 8; 9] |
||
</pre> |
</pre> |
||
=={{header|Factor}}== |
=={{header|Factor}}== |
||
Note: in older versions of Factor, <code>union-all</code> is called <code>combine</code>. |
Note: in older versions of Factor, <code>union-all</code> is called <code>combine</code>. |