小编div*_*nan的帖子

两个字符集C ++的集合差异

问题

我有两个排序集:

set<char, greater<char> > alp1;
set<char, greater<char> > alp;
Run Code Online (Sandbox Code Playgroud)

我需要找到设置差异:alp-alp1

尝试1

set_difference(alp.begin(), alp.end(), alp1.begin(), alp1.end(), inserter(diff1, diff1.end()));
Run Code Online (Sandbox Code Playgroud)

但是,仅从alp1中减去的第一个元素alp

尝试2

itr = set_difference(alp.begin(), alp.end(), alp1.begin(), alp1.end(), diff1.begin());
for(auto it=diff.begin(); it<itr; it++)
   cout<<*it;
Run Code Online (Sandbox Code Playgroud)

尝试2错误:

no match for ‘operator<’ (operand types are ‘std::_Rb_tree_const_iterator<char>’ and ‘std::set<char>::const_iterator’ {aka ‘std::_Rb_tree_const_iterator<char>’})
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

c++ stl set

4
推荐指数
1
解决办法
88
查看次数

标签 统计

c++ ×1

set ×1

stl ×1