读书人

请问下STL中并集算法的使用方法

发布时间: 2012-04-22 18:34:46 作者: rapoo

请教下,STL中并集算法的使用方法
请教下,STL中并集算法的使用方法。帮我写个例子,要求,输入参数是两个set<string>,或者vector<string>。输出也是。分两种情况,一种自己写比较函数,一种不用写比较函数。谢谢

[解决办法]
http://www.cplusplus.com/reference/algorithm/set_union/

例子自己慢慢写啊,程序设计没有懒可以偷的。
[解决办法]

C/C++ code
template <class _InputIter1, class _InputIter2, class _OutputIter,          class _Compare>_OutputIter set_union(_InputIter1 __first1, _InputIter1 __last1,                      _InputIter2 __first2, _InputIter2 __last2,                      _OutputIter __result, _Compare __comp) {  __STL_REQUIRES(_InputIter1, _InputIterator);  __STL_REQUIRES(_InputIter2, _InputIterator);  __STL_REQUIRES(_OutputIter, _OutputIterator);  __STL_REQUIRES_SAME_TYPE(       typename iterator_traits<_InputIter1>::value_type,       typename iterator_traits<_InputIter2>::value_type);  __STL_BINARY_FUNCTION_CHECK(_Compare, bool,       typename iterator_traits<_InputIter1>::value_type,       typename iterator_traits<_InputIter2>::value_type);  while (__first1 != __last1 && __first2 != __last2) {    if (__comp(*__first1, *__first2)) {      *__result = *__first1;      ++__first1;    }    else if (__comp(*__first2, *__first1)) {      *__result = *__first2;      ++__first2;    }    else {      *__result = *__first1;      ++__first1;      ++__first2;    }    ++__result;  }  return copy(__first2, __last2, copy(__first1, __last1, __result));} 

读书人网 >C++

热点推荐