﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Benjamin-随笔分类-泛型编程</title><link>http://www.cppblog.com/zhangyq/category/9487.html</link><description>静以修身，俭以养德，非澹薄无以明志，非宁静无以致远。</description><language>zh-cn</language><lastBuildDate>Sun, 03 Feb 2013 06:16:53 GMT</lastBuildDate><pubDate>Sun, 03 Feb 2013 06:16:53 GMT</pubDate><ttl>60</ttl><item><title>STL算法(Algorithms):修改操作(拷贝、替换等)</title><link>http://www.cppblog.com/zhangyq/archive/2012/02/05/163245.html</link><dc:creator>Benjamin</dc:creator><author>Benjamin</author><pubDate>Sun, 05 Feb 2012 13:39:00 GMT</pubDate><guid>http://www.cppblog.com/zhangyq/archive/2012/02/05/163245.html</guid><wfw:comment>http://www.cppblog.com/zhangyq/comments/163245.html</wfw:comment><comments>http://www.cppblog.com/zhangyq/archive/2012/02/05/163245.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhangyq/comments/commentRss/163245.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhangyq/services/trackbacks/163245.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: STL算法(Algorithms)：序列的修改操作(拷贝、替换等)&nbsp;&nbsp;<a href='http://www.cppblog.com/zhangyq/archive/2012/02/05/163245.html'>阅读全文</a><img src ="http://www.cppblog.com/zhangyq/aggbug/163245.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhangyq/" target="_blank">Benjamin</a> 2012-02-05 21:39 <a href="http://www.cppblog.com/zhangyq/archive/2012/02/05/163245.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STL算法(Algorithms):合并(Merge)</title><link>http://www.cppblog.com/zhangyq/archive/2012/02/05/164060.html</link><dc:creator>Benjamin</dc:creator><author>Benjamin</author><pubDate>Sun, 05 Feb 2012 13:33:00 GMT</pubDate><guid>http://www.cppblog.com/zhangyq/archive/2012/02/05/164060.html</guid><wfw:comment>http://www.cppblog.com/zhangyq/comments/164060.html</wfw:comment><comments>http://www.cppblog.com/zhangyq/archive/2012/02/05/164060.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhangyq/comments/commentRss/164060.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhangyq/services/trackbacks/164060.html</trackback:ping><description><![CDATA[<p>1、merge：将两个序列合并成一个新的序列，并对新的序列排序<br />原型：<br />template &lt;class InputIterator1, class InputIterator2, class OutputIterator&gt;<br />&nbsp; OutputIterator merge ( InputIterator1 first1, InputIterator1 last1,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2,OutputIterator result );<br />template &lt;class InputIterator1, class InputIterator2,class OutputIterator, class Compare&gt;<br />OutputIterator merge ( InputIterator1 first1, InputIterator1 last1,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2,OutputIterator result, Compare comp );<br />示例： </p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">//</span><span style="color: #008000">&nbsp;merge&nbsp;algorithm&nbsp;example</span><span style="color: #008000"><br /></span><span style="color: #000000">#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">iostream</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">algorithm</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">vector</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;std;<br /><br /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;main&nbsp;()&nbsp;{<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;first[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">5</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">,</span><span style="color: #000000">15</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">25</span><span style="color: #000000">};<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;second[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">50</span><span style="color: #000000">,</span><span style="color: #000000">40</span><span style="color: #000000">,</span><span style="color: #000000">30</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">};<br />&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;v(</span><span style="color: #000000">10</span><span style="color: #000000">);<br />&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">::iterator&nbsp;it;<br /><br />&nbsp;&nbsp;sort&nbsp;(first,first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);<br />&nbsp;&nbsp;sort&nbsp;(second,second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);<br />&nbsp;&nbsp;merge&nbsp;(first,first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,second,second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,v.begin());<br /><br />&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">The&nbsp;resulting&nbsp;vector&nbsp;contains:</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(it</span><span style="color: #000000">=</span><span style="color: #000000">v.begin();&nbsp;it</span><span style="color: #000000">!=</span><span style="color: #000000">v.end();&nbsp;</span><span style="color: #000000">++</span><span style="color: #000000">it)<br />&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">it;<br /><br />&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;endl;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />}<br /></span></div>
<p><br /><br /></p>
<p>2、inplace_merge：将两个序列合并成一个新的序列,并对新的序列进行归并排序(这两个序列必须要进过排序)<br />原型：<br />template &lt;class BidirectionalIterator&gt;<br />void inplace_merge ( BidirectionalIterator first, BidirectionalIterator middle,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BidirectionalIterator last );</p>
<p>template &lt;class BidirectionalIterator, class Compare&gt;<br />&nbsp;void inplace_merge ( BidirectionalIterator first, BidirectionalIterator middle,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BidirectionalIterator last, Compare comp );<br />示例:</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">//</span><span style="color: #008000">&nbsp;inplace_merge&nbsp;example</span><span style="color: #008000"><br /></span><span style="color: #000000">#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">iostream</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">algorithm</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">vector</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;std;<br /><br /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;main&nbsp;()&nbsp;{<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;first[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">5</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">,</span><span style="color: #000000">15</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">25</span><span style="color: #000000">};<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;second[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">50</span><span style="color: #000000">,</span><span style="color: #000000">40</span><span style="color: #000000">,</span><span style="color: #000000">30</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">};<br />&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;v(</span><span style="color: #000000">10</span><span style="color: #000000">);<br />&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">::iterator&nbsp;it;<br /><br />&nbsp;&nbsp;sort&nbsp;(first,first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);<br />&nbsp;&nbsp;sort&nbsp;(second,second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);<br /><br />&nbsp;&nbsp;copy&nbsp;(first,first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,v.begin());<br />&nbsp;&nbsp;copy&nbsp;(second,second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,v.begin()</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);<br /><br />&nbsp;&nbsp;inplace_merge&nbsp;(v.begin(),v.begin()</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,v.end());<br /><br />&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">The&nbsp;resulting&nbsp;vector&nbsp;contains:</span><span style="color: #000000">"</span><span style="color: #000000">;<br />&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(it</span><span style="color: #000000">=</span><span style="color: #000000">v.begin();&nbsp;it</span><span style="color: #000000">!=</span><span style="color: #000000">v.end();&nbsp;</span><span style="color: #000000">++</span><span style="color: #000000">it)<br />&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">it;<br /><br />&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;endl;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />}<br /></span></div>
<p><br />&nbsp;</p>
<p>3、includes：测试是一个序列是否在另一个序列中<br />原型：<br />template &lt;class InputIterator1, class InputIterator2&gt; <br />bool includes ( InputIterator1 first1, InputIterator1 last1, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2 ); <br />template &lt;class InputIterator1, class InputIterator2, class Compare&gt; <br />bool includes ( InputIterator1 first1, InputIterator1 last1, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2, Compare comp );<br />示例:</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">//</span><span style="color: #008000">&nbsp;includes&nbsp;algorithm&nbsp;example</span><span style="color: #008000"><br /></span><span style="color: #000000">#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">iostream</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">algorithm</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;std;<br /><br /></span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;myfunction&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j)&nbsp;{&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">j;&nbsp;}<br /><br /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;main&nbsp;()&nbsp;{<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;container[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">5</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">,</span><span style="color: #000000">15</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">25</span><span style="color: #000000">,</span><span style="color: #000000">30</span><span style="color: #000000">,</span><span style="color: #000000">35</span><span style="color: #000000">,</span><span style="color: #000000">40</span><span style="color: #000000">,</span><span style="color: #000000">45</span><span style="color: #000000">,</span><span style="color: #000000">50</span><span style="color: #000000">};<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;continent[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">40</span><span style="color: #000000">,</span><span style="color: #000000">30</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">};<br /><br />&nbsp;&nbsp;sort&nbsp;(container,container</span><span style="color: #000000">+</span><span style="color: #000000">10</span><span style="color: #000000">);<br />&nbsp;&nbsp;sort&nbsp;(continent,continent</span><span style="color: #000000">+</span><span style="color: #000000">4</span><span style="color: #000000">);<br /><br />&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;using&nbsp;default&nbsp;comparison:</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(&nbsp;includes(container,container</span><span style="color: #000000">+</span><span style="color: #000000">10</span><span style="color: #000000">,continent,continent</span><span style="color: #000000">+</span><span style="color: #000000">4</span><span style="color: #000000">)&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">container&nbsp;includes&nbsp;continent!</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;endl;<br /><br />&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;using&nbsp;myfunction&nbsp;as&nbsp;comp:</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(&nbsp;includes(container,container</span><span style="color: #000000">+</span><span style="color: #000000">10</span><span style="color: #000000">,continent,continent</span><span style="color: #000000">+</span><span style="color: #000000">4</span><span style="color: #000000">,&nbsp;myfunction)&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">container&nbsp;includes&nbsp;continent!</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;endl;<br /><br />&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />}<br /></span></div>
<p><br />&nbsp;</p>
<p>4、set_union：和merge类似，不过新序列中没有重复的元素<br />原型：<br />template &lt;class InputIterator1, class InputIterator2, class OutputIterator&gt;&nbsp; <br />OutputIterator set_union ( InputIterator1 first1, InputIterator1 last1,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2,OutputIterator result );<br />template &lt;class InputIterator1, class InputIterator2, class OutputIterator, class Compare&gt;&nbsp; <br />OutputIterator set_union ( InputIterator1 first1, InputIterator1 last1, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2,OutputIterator result, Compare comp );<br />示例：</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">//</span><span style="color: #008000">&nbsp;set_union&nbsp;example</span><span style="color: #008000"><br /></span><span style="color: #000000">#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">iostream</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">algorithm</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">vector</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;std;<br /><br /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;main&nbsp;()&nbsp;{<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;first[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">5</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">,</span><span style="color: #000000">15</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">25</span><span style="color: #000000">};<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;second[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">50</span><span style="color: #000000">,</span><span style="color: #000000">40</span><span style="color: #000000">,</span><span style="color: #000000">30</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">};<br />&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;v(</span><span style="color: #000000">10</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">::iterator&nbsp;it;<br /><br />&nbsp;&nbsp;sort&nbsp;(first,first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;5&nbsp;10&nbsp;15&nbsp;20&nbsp;25</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;sort&nbsp;(second,second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;10&nbsp;20&nbsp;30&nbsp;40&nbsp;50</span><span style="color: #008000"><br /></span><span style="color: #000000"><br />&nbsp;&nbsp;it</span><span style="color: #000000">=</span><span style="color: #000000">set_union&nbsp;(first,&nbsp;first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,&nbsp;second,&nbsp;second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,&nbsp;v.begin());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;5&nbsp;10&nbsp;15&nbsp;20&nbsp;25&nbsp;30&nbsp;40&nbsp;50&nbsp;&nbsp;0&nbsp;&nbsp;0</span><span style="color: #008000"><br /></span><span style="color: #000000"><br />&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">union&nbsp;has&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">(it&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;v.begin())&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;elements.\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br /><br />&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />}<br /></span></div>
<p><br />&nbsp;</p>
<p>5、set_intersection：两个序列的交集<br />原型：<br />template &lt;class InputIterator1, class InputIterator2, class OutputIterator&gt;&nbsp; <br />OutputIterator set_intersection ( InputIterator1 first1, InputIterator1 last1,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2,OutputIterator result );<br />template &lt;class InputIterator1, class InputIterator2,class OutputIterator, class Compare&gt;<br />OutputIterator set_intersection ( InputIterator1 first1, InputIterator1 last1,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2,OutputIterator result, Compare comp );<br />示例：</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">//</span><span style="color: #008000">&nbsp;set_intersection&nbsp;example</span><span style="color: #008000"><br /></span><span style="color: #000000">#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">iostream</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">algorithm</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">vector</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;std;<br /><br /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;main&nbsp;()&nbsp;{<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;first[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">5</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">,</span><span style="color: #000000">15</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">25</span><span style="color: #000000">};<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;second[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">50</span><span style="color: #000000">,</span><span style="color: #000000">40</span><span style="color: #000000">,</span><span style="color: #000000">30</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">};<br />&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;v(</span><span style="color: #000000">10</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">::iterator&nbsp;it;<br /><br />&nbsp;&nbsp;sort&nbsp;(first,first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;5&nbsp;10&nbsp;15&nbsp;20&nbsp;25</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;sort&nbsp;(second,second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;10&nbsp;20&nbsp;30&nbsp;40&nbsp;50</span><span style="color: #008000"><br /></span><span style="color: #000000"><br />&nbsp;&nbsp;it</span><span style="color: #000000">=</span><span style="color: #000000">set_intersection&nbsp;(first,&nbsp;first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,&nbsp;second,&nbsp;second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,&nbsp;v.begin());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;10&nbsp;20&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0</span><span style="color: #008000"><br /></span><span style="color: #000000"><br />&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">intersection&nbsp;has&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">(it&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;v.begin())&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;elements.\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br /><br />&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />}<br /></span></div>
<p><br />&nbsp;</p>
<p>6、set_difference：序列(first1,last1)不在序列(first2,last2)中的元素<br />原型：<br />template &lt;class InputIterator1, class InputIterator2, class OutputIterator&gt;&nbsp; <br />OutputIterator set_intersection ( InputIterator1 first1, InputIterator1 last1,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2,outputIterator result );<br />template &lt;class InputIterator1, class InputIterator2, class OutputIterator, class Compare&gt;&nbsp; <br />OutputIterator set_intersection ( InputIterator1 first1, InputIterator1 last1,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2,OutputIterator result, Compare comp );<br />示例：</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">//</span><span style="color: #008000">&nbsp;set_difference&nbsp;example</span><span style="color: #008000"><br /></span><span style="color: #000000">#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">iostream</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">algorithm</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">vector</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;std;<br /><br /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;main&nbsp;()&nbsp;{<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;first[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">5</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">,</span><span style="color: #000000">15</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">25</span><span style="color: #000000">};<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;second[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">50</span><span style="color: #000000">,</span><span style="color: #000000">40</span><span style="color: #000000">,</span><span style="color: #000000">30</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">};<br />&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;v(</span><span style="color: #000000">10</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">::iterator&nbsp;it;<br /><br />&nbsp;&nbsp;sort&nbsp;(first,first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;5&nbsp;10&nbsp;15&nbsp;20&nbsp;25</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;sort&nbsp;(second,second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;10&nbsp;20&nbsp;30&nbsp;40&nbsp;50</span><span style="color: #008000"><br /></span><span style="color: #000000"><br />&nbsp;&nbsp;it</span><span style="color: #000000">=</span><span style="color: #000000">set_difference&nbsp;(first,&nbsp;first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,&nbsp;second,&nbsp;second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,&nbsp;v.begin());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;5&nbsp;15&nbsp;25&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0</span><span style="color: #008000"><br /></span><span style="color: #000000"><br />&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">difference&nbsp;has&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">(it&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;v.begin())&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;elements.\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br /><br />&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />}<br /></span></div>
<p><br />&nbsp;</p>
<p>7、set_symmetric_difference：所有不在序列(first1,last1)和序列(first2,last2)中的元素<br />原型：<br />template &lt;class InputIterator1, class InputIterator2, class OutputIterator&gt;&nbsp; <br />OutputIterator&nbsp;&nbsp;&nbsp; set_symmetric_difference ( InputIterator1 first1, InputIterator1 last1,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2,OutputIterator result );<br />template &lt;class InputIterator1, class InputIterator2, class OutputIterator, class Compare&gt; <br />OutputIterator&nbsp;&nbsp;&nbsp; set_symmetric_difference ( InputIterator1 first1, InputIterator1 last1, <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputIterator2 first2, InputIterator2 last2,OutputIterator result, Compare comp );<br />示例：</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000">//</span><span style="color: #008000">&nbsp;set_symmetric_difference&nbsp;example</span><span style="color: #008000"><br /></span><span style="color: #000000">#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">iostream</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">algorithm</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">vector</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /></span><span style="color: #0000ff">using</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;std;<br /><br /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;main&nbsp;()&nbsp;{<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;first[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">5</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">,</span><span style="color: #000000">15</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">25</span><span style="color: #000000">};<br />&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;second[]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">50</span><span style="color: #000000">,</span><span style="color: #000000">40</span><span style="color: #000000">,</span><span style="color: #000000">30</span><span style="color: #000000">,</span><span style="color: #000000">20</span><span style="color: #000000">,</span><span style="color: #000000">10</span><span style="color: #000000">};<br />&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;v(</span><span style="color: #000000">10</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;vector</span><span style="color: #000000">&lt;</span><span style="color: #0000ff">int</span><span style="color: #000000">&gt;</span><span style="color: #000000">::iterator&nbsp;it;<br /><br />&nbsp;&nbsp;sort&nbsp;(first,first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;5&nbsp;10&nbsp;15&nbsp;20&nbsp;25</span><span style="color: #008000"><br /></span><span style="color: #000000">&nbsp;&nbsp;sort&nbsp;(second,second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">);&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;10&nbsp;20&nbsp;30&nbsp;40&nbsp;50</span><span style="color: #008000"><br /></span><span style="color: #000000"><br />&nbsp;&nbsp;it</span><span style="color: #000000">=</span><span style="color: #000000">set_symmetric_difference&nbsp;(first,&nbsp;first</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,&nbsp;second,&nbsp;second</span><span style="color: #000000">+</span><span style="color: #000000">5</span><span style="color: #000000">,&nbsp;v.begin());<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;5&nbsp;15&nbsp;25&nbsp;30&nbsp;40&nbsp;50&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0&nbsp;&nbsp;0</span><span style="color: #008000"><br /></span><span style="color: #000000"><br />&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">symmetric&nbsp;difference&nbsp;has&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">(it&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;v.begin())&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;elements.\n</span><span style="color: #000000">"</span><span style="color: #000000">;<br /><br />&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />}<br /></span></div>
<p><br /></p> <img src ="http://www.cppblog.com/zhangyq/aggbug/164060.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhangyq/" target="_blank">Benjamin</a> 2012-02-05 21:33 <a href="http://www.cppblog.com/zhangyq/archive/2012/02/05/164060.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STL算法(Algorithms):堆(heap)</title><link>http://www.cppblog.com/zhangyq/archive/2012/01/12/164054.html</link><dc:creator>Benjamin</dc:creator><author>Benjamin</author><pubDate>Thu, 12 Jan 2012 05:53:00 GMT</pubDate><guid>http://www.cppblog.com/zhangyq/archive/2012/01/12/164054.html</guid><wfw:comment>http://www.cppblog.com/zhangyq/comments/164054.html</wfw:comment><comments>http://www.cppblog.com/zhangyq/archive/2012/01/12/164054.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhangyq/comments/commentRss/164054.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhangyq/services/trackbacks/164054.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: stl算法之堆部分&nbsp;&nbsp;<a href='http://www.cppblog.com/zhangyq/archive/2012/01/12/164054.html'>阅读全文</a><img src ="http://www.cppblog.com/zhangyq/aggbug/164054.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhangyq/" target="_blank">Benjamin</a> 2012-01-12 13:53 <a href="http://www.cppblog.com/zhangyq/archive/2012/01/12/164054.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STL算法(Algorithms):极值</title><link>http://www.cppblog.com/zhangyq/archive/2012/01/08/163834.html</link><dc:creator>Benjamin</dc:creator><author>Benjamin</author><pubDate>Sun, 08 Jan 2012 08:54:00 GMT</pubDate><guid>http://www.cppblog.com/zhangyq/archive/2012/01/08/163834.html</guid><wfw:comment>http://www.cppblog.com/zhangyq/comments/163834.html</wfw:comment><comments>http://www.cppblog.com/zhangyq/archive/2012/01/08/163834.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/zhangyq/comments/commentRss/163834.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhangyq/services/trackbacks/163834.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: STL算法(Algorithms)关于极值的部分&nbsp;&nbsp;<a href='http://www.cppblog.com/zhangyq/archive/2012/01/08/163834.html'>阅读全文</a><img src ="http://www.cppblog.com/zhangyq/aggbug/163834.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhangyq/" target="_blank">Benjamin</a> 2012-01-08 16:54 <a href="http://www.cppblog.com/zhangyq/archive/2012/01/08/163834.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STL算法(Algorithms):排序</title><link>http://www.cppblog.com/zhangyq/archive/2012/01/07/163788.html</link><dc:creator>Benjamin</dc:creator><author>Benjamin</author><pubDate>Sat, 07 Jan 2012 08:32:00 GMT</pubDate><guid>http://www.cppblog.com/zhangyq/archive/2012/01/07/163788.html</guid><wfw:comment>http://www.cppblog.com/zhangyq/comments/163788.html</wfw:comment><comments>http://www.cppblog.com/zhangyq/archive/2012/01/07/163788.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhangyq/comments/commentRss/163788.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhangyq/services/trackbacks/163788.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: STL算法(Algorithms)之排序&nbsp;&nbsp;<a href='http://www.cppblog.com/zhangyq/archive/2012/01/07/163788.html'>阅读全文</a><img src ="http://www.cppblog.com/zhangyq/aggbug/163788.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhangyq/" target="_blank">Benjamin</a> 2012-01-07 16:32 <a href="http://www.cppblog.com/zhangyq/archive/2012/01/07/163788.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>stl的算法(一)：对序列进行只读操作(查找、搜索等)</title><link>http://www.cppblog.com/zhangyq/archive/2011/12/27/162906.html</link><dc:creator>Benjamin</dc:creator><author>Benjamin</author><pubDate>Tue, 27 Dec 2011 05:41:00 GMT</pubDate><guid>http://www.cppblog.com/zhangyq/archive/2011/12/27/162906.html</guid><wfw:comment>http://www.cppblog.com/zhangyq/comments/162906.html</wfw:comment><comments>http://www.cppblog.com/zhangyq/archive/2011/12/27/162906.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhangyq/comments/commentRss/162906.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhangyq/services/trackbacks/162906.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 对序列进行只读操作(查找、搜索等)&nbsp;&nbsp;<a href='http://www.cppblog.com/zhangyq/archive/2011/12/27/162906.html'>阅读全文</a><img src ="http://www.cppblog.com/zhangyq/aggbug/162906.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhangyq/" target="_blank">Benjamin</a> 2011-12-27 13:41 <a href="http://www.cppblog.com/zhangyq/archive/2011/12/27/162906.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>map、string使用的注意事项</title><link>http://www.cppblog.com/zhangyq/archive/2011/05/18/145611.html</link><dc:creator>Benjamin</dc:creator><author>Benjamin</author><pubDate>Wed, 18 May 2011 13:46:00 GMT</pubDate><guid>http://www.cppblog.com/zhangyq/archive/2011/05/18/145611.html</guid><wfw:comment>http://www.cppblog.com/zhangyq/comments/145611.html</wfw:comment><comments>http://www.cppblog.com/zhangyq/archive/2011/05/18/145611.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhangyq/comments/commentRss/145611.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhangyq/services/trackbacks/145611.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: map、string使用的注意事项&nbsp;&nbsp;<a href='http://www.cppblog.com/zhangyq/archive/2011/05/18/145611.html'>阅读全文</a><img src ="http://www.cppblog.com/zhangyq/aggbug/145611.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhangyq/" target="_blank">Benjamin</a> 2011-05-18 21:46 <a href="http://www.cppblog.com/zhangyq/archive/2011/05/18/145611.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>string和memset</title><link>http://www.cppblog.com/zhangyq/archive/2009/05/16/83154.html</link><dc:creator>Benjamin</dc:creator><author>Benjamin</author><pubDate>Sat, 16 May 2009 15:24:00 GMT</pubDate><guid>http://www.cppblog.com/zhangyq/archive/2009/05/16/83154.html</guid><wfw:comment>http://www.cppblog.com/zhangyq/comments/83154.html</wfw:comment><comments>http://www.cppblog.com/zhangyq/archive/2009/05/16/83154.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhangyq/comments/commentRss/83154.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhangyq/services/trackbacks/83154.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: memset和string&nbsp;&nbsp;<a href='http://www.cppblog.com/zhangyq/archive/2009/05/16/83154.html'>阅读全文</a><img src ="http://www.cppblog.com/zhangyq/aggbug/83154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhangyq/" target="_blank">Benjamin</a> 2009-05-16 23:24 <a href="http://www.cppblog.com/zhangyq/archive/2009/05/16/83154.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浅析sstream库</title><link>http://www.cppblog.com/zhangyq/archive/2009/03/16/76804.html</link><dc:creator>Benjamin</dc:creator><author>Benjamin</author><pubDate>Mon, 16 Mar 2009 15:51:00 GMT</pubDate><guid>http://www.cppblog.com/zhangyq/archive/2009/03/16/76804.html</guid><wfw:comment>http://www.cppblog.com/zhangyq/comments/76804.html</wfw:comment><comments>http://www.cppblog.com/zhangyq/archive/2009/03/16/76804.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhangyq/comments/commentRss/76804.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhangyq/services/trackbacks/76804.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: STL中的sstream库简介&nbsp;&nbsp;<a href='http://www.cppblog.com/zhangyq/archive/2009/03/16/76804.html'>阅读全文</a><img src ="http://www.cppblog.com/zhangyq/aggbug/76804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhangyq/" target="_blank">Benjamin</a> 2009-03-16 23:51 <a href="http://www.cppblog.com/zhangyq/archive/2009/03/16/76804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>结构体在map中的应用</title><link>http://www.cppblog.com/zhangyq/archive/2009/03/02/75359.html</link><dc:creator>Benjamin</dc:creator><author>Benjamin</author><pubDate>Mon, 02 Mar 2009 15:49:00 GMT</pubDate><guid>http://www.cppblog.com/zhangyq/archive/2009/03/02/75359.html</guid><wfw:comment>http://www.cppblog.com/zhangyq/comments/75359.html</wfw:comment><comments>http://www.cppblog.com/zhangyq/archive/2009/03/02/75359.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhangyq/comments/commentRss/75359.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhangyq/services/trackbacks/75359.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 结构体在map容器的简单使用示例&nbsp;&nbsp;<a href='http://www.cppblog.com/zhangyq/archive/2009/03/02/75359.html'>阅读全文</a><img src ="http://www.cppblog.com/zhangyq/aggbug/75359.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhangyq/" target="_blank">Benjamin</a> 2009-03-02 23:49 <a href="http://www.cppblog.com/zhangyq/archive/2009/03/02/75359.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在VS2005上安装boost1.37.0</title><link>http://www.cppblog.com/zhangyq/archive/2009/02/06/73109.html</link><dc:creator>Benjamin</dc:creator><author>Benjamin</author><pubDate>Fri, 06 Feb 2009 07:19:00 GMT</pubDate><guid>http://www.cppblog.com/zhangyq/archive/2009/02/06/73109.html</guid><wfw:comment>http://www.cppblog.com/zhangyq/comments/73109.html</wfw:comment><comments>http://www.cppblog.com/zhangyq/archive/2009/02/06/73109.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhangyq/comments/commentRss/73109.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhangyq/services/trackbacks/73109.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: vs2005＋sp1上安装boost1.37.0&nbsp;&nbsp;<a href='http://www.cppblog.com/zhangyq/archive/2009/02/06/73109.html'>阅读全文</a><img src ="http://www.cppblog.com/zhangyq/aggbug/73109.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhangyq/" target="_blank">Benjamin</a> 2009-02-06 15:19 <a href="http://www.cppblog.com/zhangyq/archive/2009/02/06/73109.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>