假设你有 2 个向量:
vector<int> ar1, a2;
ar1 = {1,1,2,3,3,4,5,5,6};
ar2 = {1,2,3,4,5,6};
如何以一种好的方式做这样的事情(使用 C++)?
b = ar1 - ar2
// b = {1,3,5}
//from cppreference
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
int main() {
std::vector<int> v1 {1,1,2,3,3,4,5,5,6};
std::vector<int> v2 {1,2,3,4,5,6};
std::vector<int> diff;
//no need to sort since it's already sorted
//but you can sort with:
//std::sort(std::begin(v1), std::end(v1))
std::set_difference(v1.begin(), v1.end(), v2.begin(), v2.end(),
std::inserter(diff, diff.begin()));
for (auto i : v1) std::cout << i << ' ';
std::cout << "minus ";
for (auto i : v2) std::cout << i << ' ';
std::cout << "is: ";
for (auto i : diff) std::cout << i << ' ';
std::cout << '\n';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)