void update(vector<int> &oldVec, vector<int> &newVec) {
sort(oldVec.begin(), oldVec.end());
sort(newVec.begin(), newVec.end());
if (oldVec == newVec) return;
vector<int> bingji, jiaoji, VecDel, VecAdd; // 并集 . 交集, oldvec -> newvec 需要删除的 和 需要增加的
set_intersection(oldVec.begin(), oldVec.end(), newVec.begin(), newVec.end(), inserter(jiaoji, jiaoji.begin()));
set_union(oldVec.begin(), oldVec.end(), newVec.begin(), newVec.end(), inserter(bingji, bingji.begin()));
set_difference(oldVec.begin(), oldVec.end(), jiaoji.begin(), jiaoji.end(), inserter(VecDel, VecDel.begin()));
set_difference(newVec.begin(), newVec.end(), jiaoji.begin(), jiaoji.end(), inserter(VecAdd, VecAdd.begin()));
}
求两个vector的并集,交集,差集
最新推荐文章于 2023-11-18 10:58:08 发布