关于set_difference和set_symmtirc_difference遇到的一个坑

set_difference用法:

    v3.resize(v1.size() + v2.size());

    std::sort(v1.begin(), v1.end(), [](int a, int b){return a < b};);

    std::sort(v2.begin(), v2.end(), [](int a, int b){return a < b};);

    auto it = std::set_difference(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin());

    v3.resize(it-v3.begin());

1.v1和v2是一个有序的数组;

2.v1和v2必须是顺序排列,

3.v3需要设置长度,否则会越界

你可能感兴趣的:(C++,STL)