OutputIterator set_differe">

日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > STL algorithm算法set_difference,set_intersection(53)

STL algorithm算法set_difference,set_intersection(53)

來源:程序員人生   發布時間:2014-10-14 08:28:50 閱讀次數:2724次

set_difference原型:

std::set_difference

default (1)
template <class InputIterator1, class InputIterator2, class OutputIterator> OutputIterator set_difference (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result);
custom (2)
template <class InputIterator1, class InputIterator2, class OutputIterator, class Compare> OutputIterator set_difference (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp);
該函數是獲得兩個集合的差集。

序列應該已經有序

返回值為result中最后一個被覆蓋元素下一位置的迭代器。

其行為類似于:

template <class InputIterator1, class InputIterator2, class OutputIterator> OutputIterator set_difference (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result) { while (first1!=last1 && first2!=last2) { if (*first1<*first2) { *result = *first1; ++result; ++first1; } else if (*first2<*first1) ++first2; else { ++first1; ++first2; } } return std::copy(first1,last1,result); }
一個簡單的例子:

#include <iostream> #include <algorithm> #include <vector> using namespace std; void setdifference() { vector<int> vi{1,2,3,4,4,6,9,22,11}; vector<int> v2{1,2,3,5,4,9,8}; vector<int> vresult(6); sort(vi.begin(),vi.end()); sort(v2.begin(),v2.end()); cout<<"vi="; for(int i:vi) cout<<i<<" "; cout<<endl; cout<<"v2="; for(int i:v2) cout<<i<<" "; cout<<endl; set_difference(vi.begin(),vi.end(),v2.begin(),v2.end(),vresult.begin()); cout<<"vreult="; for(int i:vresult) cout<<i<<" "; cout<<endl; }
運行截圖:





set_intersection原型:

std::set_intersection

default (1)
template <class InputIterator1, class InputIterator2, class OutputIterator> OutputIterator set_intersection (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result);
custom (2)
template <class InputIterator1, class InputIterator2, class OutputIterator, class Compare> OutputIterator set_intersection (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp);
該函數是求兩個集合的交集。

同樣的序列應該已經有序。

行為類似于:

template <class InputIterator1, class InputIterator2, class OutputIterator> OutputIterator set_intersection (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result) { while (first1!=last1 && first2!=last2) { if (*first1<*first2) ++first1; else if (*first2<*first1) ++first2; else { *result = *first1; ++result; ++first1; ++first2; } } return result; }
一個簡單的例子:

#include <iostream> #include <algorithm> #include <vector> using namespace std; void setintersection() { vector<int> vi{1,2,3,4,4,6,9,22,11}; vector<int> v2{1,2,3,5,4,9,8}; vector<int> vresult(6); sort(vi.begin(),vi.end()); sort(v2.begin(),v2.end()); cout<<"vi="; for(int i:vi) cout<<i<<" "; cout<<endl; cout<<"v2="; for(int i:v2) cout<<i<<" "; cout<<endl; set_intersection(vi.begin(),vi.end(),v2.begin(),v2.end(),vresult.begin()); cout<<"vreult="; for(int i:vresult) cout<<i<<" "; cout<<endl; }
運行截圖:


其中0是本來就有沒有被覆蓋的。更好的做法是使用for,然后利用set_intersection的返回值作為界限遍歷。



――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

//寫的錯誤或者不好的地方請多多指導,可以在下面留言或者點擊左上方郵件地址給我發郵件,指出我的錯誤以及不足,以便我修改,更好的分享給大家,謝謝。

轉載請注明出處:http://blog.csdn.net/qq844352155

author:天下無雙

Email:coderguang@gmail.com

2014-9-26

于GDUT

――――――――――――――――――――――――――――――――――――――――――――――――――










生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久久久久久女女女又又 | 国产一区观看 | 日韩一区在线播放 | 亚洲综合色婷婷 | av在线一 | 91精品国产综合久久国产大片 | 国产精品久久久精品 | 在线精品一区二区 | 国产精品视频不卡 | 亚洲欧洲日韩在线 | 一级性电影 | 成人黄色在线观看 | 日韩欧美一区在线 | 亚洲一区二区综合 | 欧美日韩国产一区二区三区 | 日本中文字幕在线观看 | 99毛片| 可以免费看av的网站 | 亚洲一区二区三区精品视频 | 精品在线播放 | 久久亚洲一区二区三区四区 | 一区二区免费在线视频 | 一级毛片视频在线 | 亚洲色图50p | 九九99久久 | 日韩一级片在线观看 | 一区二视频 | 九一在线 | 97精品视频在线观看 | 国产精品久久久一区二区三区 | 在线一区二区三区四区 | 麻豆av在线播放 | 希岛爱理和黑人中文字幕系列 | 日韩免费看片 | 欧美日韩精品电影 | 日韩国产欧美综合 | 久久亚洲精品国产日韩潮高 | 成人欧美一区二区三区 | 在线一区 | 亚洲一区二区三区四区五区中文 | 99久久久国产精品免费调教网站 |