﻿<?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++博客-patriking-随笔分类-C++ STL</title><link>http://www.cppblog.com/patriking/category/15881.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 24 Jan 2011 12:28:29 GMT</lastBuildDate><pubDate>Mon, 24 Jan 2011 12:28:29 GMT</pubDate><ttl>60</ttl><item><title>STL 容器Deque</title><link>http://www.cppblog.com/patriking/archive/2011/01/21/139060.html</link><dc:creator>patriking</dc:creator><author>patriking</author><pubDate>Fri, 21 Jan 2011 14:25:00 GMT</pubDate><guid>http://www.cppblog.com/patriking/archive/2011/01/21/139060.html</guid><wfw:comment>http://www.cppblog.com/patriking/comments/139060.html</wfw:comment><comments>http://www.cppblog.com/patriking/archive/2011/01/21/139060.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/patriking/comments/commentRss/139060.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/patriking/services/trackbacks/139060.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;T,&nbsp;template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;U</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Allocator&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;allocator</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;deque&nbsp;{<br></span><span style="color: #0000ff;">public</span><span style="color: #000000;">:<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;typedefs:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;iterator;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;const_iterator;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;Allocator</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">::pointer&nbsp;pointer;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;Allocator</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">::reference&nbsp;reference;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;Allocator</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">::const_reference&nbsp;const_reference;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;size_type;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;difference_type;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;T&nbsp;value_type;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;reverse_iterator;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;const_reverse_iterator;<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;allocation/deallocation:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;deque();<br>&nbsp;&nbsp;&nbsp;&nbsp;deque(size_type&nbsp;n,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;T());<br>&nbsp;&nbsp;&nbsp;&nbsp;deque(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;deque</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;InputIterator</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;deque(InputIterator&nbsp;first,&nbsp;InputIterator&nbsp;last);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">~</span><span style="color: #000000;">deque();<br>&nbsp;&nbsp;&nbsp;&nbsp;deque</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">=</span><span style="color: #000000;">(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;deque</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;swap(deque</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;x);<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;accessors:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;begin();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_iterator&nbsp;begin()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;end();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_iterator&nbsp;end()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;reverse_iterator&nbsp;rbegin();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reverse_iterator&nbsp;rbegin();<br>&nbsp;&nbsp;&nbsp;&nbsp;reverse_iterator&nbsp;rend();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reverse_iterator&nbsp;rend();<br>&nbsp;&nbsp;&nbsp;&nbsp;size_type&nbsp;size()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;size_type&nbsp;max_size()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;empty()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">[](size_type&nbsp;n);<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">[](size_type&nbsp;n)&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;front();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;front()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;back();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;back()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;insert/erase:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;push_front(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;push_back(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;insert(iterator&nbsp;position,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;T());<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;insert&nbsp;(iterator&nbsp;position,&nbsp;size_type&nbsp;n,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;InputIterator</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;insert&nbsp;(iterator&nbsp;position,&nbsp;InputIterator&nbsp;first,&nbsp;InputIterator&nbsp;last);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;pop_front();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;pop_back();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;erase(iterator&nbsp;position);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;erase(iterator&nbsp;first,&nbsp;iterator&nbsp;last);<br>};<br><br></span></div>
<br><img src ="http://www.cppblog.com/patriking/aggbug/139060.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/patriking/" target="_blank">patriking</a> 2011-01-21 22:25 <a href="http://www.cppblog.com/patriking/archive/2011/01/21/139060.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STL 容器List</title><link>http://www.cppblog.com/patriking/archive/2011/01/21/139059.html</link><dc:creator>patriking</dc:creator><author>patriking</author><pubDate>Fri, 21 Jan 2011 14:15:00 GMT</pubDate><guid>http://www.cppblog.com/patriking/archive/2011/01/21/139059.html</guid><wfw:comment>http://www.cppblog.com/patriking/comments/139059.html</wfw:comment><comments>http://www.cppblog.com/patriking/archive/2011/01/21/139059.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/patriking/comments/commentRss/139059.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/patriking/services/trackbacks/139059.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;T,&nbsp;template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;U</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Allocator&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;allocator</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;list&nbsp;<br>{<br></span><span style="color: #0000ff;">public</span><span style="color: #000000;">:<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;typedefs:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;iterator<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;const_iterator<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;Allocator</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">::pointer&nbsp;pointer<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;Allocator</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">::reference&nbsp;reference<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;Allocator</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">::const_reference&nbsp;const_reference<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;size_type<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;difference_type<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;T&nbsp;value_type<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;reverse_iterator<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;const_reverse_iterator;<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;allocation/deallocation:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;list()<br>&nbsp;&nbsp;&nbsp;&nbsp;list(size_type&nbsp;n,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;T())<br>&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;InputIterator</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;list(InputIterator&nbsp;first,&nbsp;InputIterator&nbsp;last)<br>&nbsp;&nbsp;&nbsp;&nbsp;list(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;list</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;x)<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">~</span><span style="color: #000000;">list()<br>&nbsp;&nbsp;&nbsp;&nbsp;list</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">=</span><span style="color: #000000;">(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;list</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;x)<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;swap(list</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;x);<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;accessors:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;begin()<br>&nbsp;&nbsp;&nbsp;&nbsp;const_iterator&nbsp;begin()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;end()<br>&nbsp;&nbsp;&nbsp;&nbsp;const_iterator&nbsp;end()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;reverse_iterator&nbsp;rbegin()<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reverse_iterator&nbsp;rbegin();<br>&nbsp;&nbsp;&nbsp;&nbsp;reverse_iterator&nbsp;rend();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reverse_iterator&nbsp;rend();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;empty()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;size_type&nbsp;size()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;size_type&nbsp;max_size()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;front();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;front()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;back();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;back()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;insert/erase:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;push_front(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;push_back(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;insert(iterator&nbsp;position,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;T());<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;insert(iterator&nbsp;position,&nbsp;size_type&nbsp;n,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;InputIterator</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;insert(iterator&nbsp;position,&nbsp;InputIterator&nbsp;first,&nbsp;InputIterator&nbsp;last);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;pop_front();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;pop_back();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;erase(iterator&nbsp;position);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;erase(iterator&nbsp;first,&nbsp;iterator&nbsp;last);<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;special&nbsp;mutative&nbsp;operations&nbsp;on&nbsp;list:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;splice(iterator&nbsp;position,&nbsp;list</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;splice(iterator&nbsp;position,&nbsp;list</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;x,&nbsp;iterator&nbsp;i);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;splice(iterator&nbsp;position,&nbsp;list</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;x,<br>&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;first,&nbsp;iterator&nbsp;last);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;remove(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;value);<br>&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Predicate</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;remove_if(Predicate&nbsp;pred);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;unique();<br>&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;BinaryPredicate</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;unique(BinaryPredicate&nbsp;binary_pr<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;merge(list</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Compare</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;merge(list</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">T,&nbsp;Allocator</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;x,&nbsp;Compare&nbsp;com<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;reverse();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;sort();<br>&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Compare</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;sort(Compare&nbsp;comp);<br>};<br></span></div>
<br><img src ="http://www.cppblog.com/patriking/aggbug/139059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/patriking/" target="_blank">patriking</a> 2011-01-21 22:15 <a href="http://www.cppblog.com/patriking/archive/2011/01/21/139059.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STL 容器Vector</title><link>http://www.cppblog.com/patriking/archive/2011/01/19/138925.html</link><dc:creator>patriking</dc:creator><author>patriking</author><pubDate>Wed, 19 Jan 2011 14:22:00 GMT</pubDate><guid>http://www.cppblog.com/patriking/archive/2011/01/19/138925.html</guid><wfw:comment>http://www.cppblog.com/patriking/comments/138925.html</wfw:comment><comments>http://www.cppblog.com/patriking/archive/2011/01/19/138925.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/patriking/comments/commentRss/138925.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/patriking/services/trackbacks/138925.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">Vector&nbsp;</span><span style="color: #0000ff;">is</span><span style="color: #000000;">&nbsp;a&nbsp;kind&nbsp;of&nbsp;sequence&nbsp;that&nbsp;supports&nbsp;random&nbsp;access&nbsp;iterators.&nbsp;In&nbsp;addition,&nbsp;it&nbsp;supports&nbsp;(amortized)&nbsp;constant&nbsp;time&nbsp;insert&nbsp;and&nbsp;erase&nbsp;operations&nbsp;at&nbsp;the&nbsp;end; <br>insert&nbsp;and&nbsp;erase&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;the&nbsp;middle&nbsp;take&nbsp;linear&nbsp;time.&nbsp;Storage&nbsp;management&nbsp;</span><span style="color: #0000ff;">is</span><span style="color: #000000;">&nbsp;handled&nbsp;automatically,&nbsp;though&nbsp;hints&nbsp;can&nbsp;be&nbsp;given&nbsp;to&nbsp;improve&nbsp;e</span><span style="color: #000000;">ffi</span><span style="color: #000000;">ciency.<br><br>template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;T,&nbsp;template&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;U</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Allocator&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;allocator</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br></span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;vector&nbsp;{<br></span><span style="color: #0000ff;">public</span><span style="color: #000000;">:<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;typedefs:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;iterator;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;const_iterator;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;Allocator::pointer&nbsp;pointer;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;Allocator::reference&nbsp;reference;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;Allocator::const_reference&nbsp;const_reference;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;size_type;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;difference_type;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;T&nbsp;value_type;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;reverse_iterator;<br>&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;const_reverse_iterator;<br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;allocation/deallocation:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;vector();<br>&nbsp;&nbsp;&nbsp;&nbsp;vector(size_type&nbsp;n,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;T());<br>&nbsp;&nbsp;&nbsp;&nbsp;vector(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;vector</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;vector(InputIterator&nbsp;first,&nbsp;InputIterator&nbsp;last);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">~</span><span style="color: #000000;">vector();<br>&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">=</span><span style="color: #000000;">(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;vector</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;reserve(size_type&nbsp;n);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;swap(vector</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x);<br><br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;accessors:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;begin();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_iterator&nbsp;begin()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;end();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_iterator&nbsp;end()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;reverse_iterator&nbsp;rbegin();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reverse_iterator&nbsp;rbegin();<br>&nbsp;&nbsp;&nbsp;&nbsp;reverse_iterator&nbsp;rend();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reverse_iterator&nbsp;rend();<br>&nbsp;&nbsp;&nbsp;&nbsp;size_type&nbsp;size()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;size_type&nbsp;max_size()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;size_type&nbsp;capacity()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">bool</span><span style="color: #000000;">&nbsp;empty()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">[](size_type&nbsp;n);<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">[](size_type&nbsp;n)&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;front();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;front()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;reference&nbsp;back();<br>&nbsp;&nbsp;&nbsp;&nbsp;const_reference&nbsp;back()&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">;<br><br></span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;insert/erase:</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;push_back(</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;iterator&nbsp;insert(iterator&nbsp;position,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;T());<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;insert(iterator&nbsp;position,&nbsp;size_type&nbsp;n,&nbsp;</span><span style="color: #0000ff;">const</span><span style="color: #000000;">&nbsp;T</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;x);<br>&nbsp;&nbsp;&nbsp;&nbsp;template<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;insert(iterator&nbsp;position,&nbsp;InputIterator&nbsp;first,&nbsp;InputIterator&nbsp;last);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;pop_back();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;erase(iterator&nbsp;position);<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;erase(iterator&nbsp;first,&nbsp;iterator&nbsp;last);<br>};<br><br></span></div>
<br><img src ="http://www.cppblog.com/patriking/aggbug/138925.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/patriking/" target="_blank">patriking</a> 2011-01-19 22:22 <a href="http://www.cppblog.com/patriking/archive/2011/01/19/138925.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STL之Set operation on sorted structures</title><link>http://www.cppblog.com/patriking/archive/2011/01/18/138722.html</link><dc:creator>patriking</dc:creator><author>patriking</author><pubDate>Tue, 18 Jan 2011 02:17:00 GMT</pubDate><guid>http://www.cppblog.com/patriking/archive/2011/01/18/138722.html</guid><wfw:comment>http://www.cppblog.com/patriking/comments/138722.html</wfw:comment><comments>http://www.cppblog.com/patriking/archive/2011/01/18/138722.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/patriking/comments/commentRss/138722.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/patriking/services/trackbacks/138722.html</trackback:ping><description><![CDATA[Set operations on sorted structures 为STL中对两个有序序列的操作，包括包含、合并、求交集、求差、求对称差。<br>包含：如果[first2,last2)包含在[first1,last1)中，返回true,否则返回false。<br>bool includes(InputIterator1 first1, InputIterator1 last1,InputIterator2 first2, InputIterator2 last2)<br>bool includes(InputIterator1 first1, InputIterator1 last1,InputIterator2 first2, InputIterator2 last2, Compare comp)<br><br>合并：合并[first1,last1)与[first2,last2)两个集合。<br>OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result)<br>OutputIterator set_union(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)<br><br>求交集：求[first1,last1)与[first2,last2)两个集合的交集。
<br>OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result)<br>OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)<br><br>求差：求在[first1,last1)中，而不在[first2,last2)的元素集合。
<br>OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result)<br>OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)<br><br>求对称差：两个集合之和集 减去 两个集合之交集。
<br>OutputIterator set_symmetric difference(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result)<br>OutputIterator set_symmetric difference(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)<br><br>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">#include</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</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</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">vector</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>#include</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iterator</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></span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;init(vector</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #000000;">&nbsp;v,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;a,&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;b)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;v.clear();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;a;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;b;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v.push_back(i);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()<br>{<br>&nbsp;&nbsp;&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;">v1,&nbsp;v2;<br>&nbsp;&nbsp;&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;itr;<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;">Includes&nbsp;operator:</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>&nbsp;&nbsp;&nbsp;&nbsp;init(v1,</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">5</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;init(v2,</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">);<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;">Vector&nbsp;v1:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v1.begin(),v1.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">Vector&nbsp;v2:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v2.begin(),v2.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">v2&nbsp;is&nbsp;in&nbsp;v1&nbsp;?&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;(includes(v1.begin(),v1.end(),v2.begin(),v2.end())&nbsp;</span><span style="color: #000000;">?</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">yes</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">no</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>&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;">v1&nbsp;is&nbsp;in&nbsp;v2&nbsp;?&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;(includes(v2.begin(),v2.end(),v1.begin(),v1.end())&nbsp;</span><span style="color: #000000;">?</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">yes</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">no</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>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;init(v1,</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">5</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;init(v2,</span><span style="color: #000000;">3</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">);<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;">Vector&nbsp;v1:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v1.begin(),v1.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">Vector&nbsp;v2:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v2.begin(),v2.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">set_union&nbsp;operator&nbsp;on&nbsp;v1,v2:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;set_union(v1.begin(),v1.end(),v2.begin(),v2.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;init(v1,</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">5</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;init(v2,</span><span style="color: #000000;">3</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">);<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;">Vector&nbsp;v1:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v1.begin(),v1.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">Vector&nbsp;v2:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v2.begin(),v2.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">set_intersecion&nbsp;operator&nbsp;on&nbsp;v1,v2:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;set_intersection(v1.begin(),v1.end(),v2.begin(),v2.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;init(v1,</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">5</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;init(v2,</span><span style="color: #000000;">3</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">);<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;">Vector&nbsp;v1:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v1.begin(),v1.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">Vector&nbsp;v2:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v2.begin(),v2.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">set_difference&nbsp;operator,&nbsp;v1&nbsp;to&nbsp;v2:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;set_difference(v1.begin(),v1.end(),v2.begin(),v2.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">set_difference&nbsp;operator,&nbsp;v2&nbsp;to&nbsp;v1:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;set_difference(v2.begin(),v2.end(),v1.begin(),v1.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;init(v1,</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">5</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;init(v2,</span><span style="color: #000000;">3</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">);<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;">Vector&nbsp;v1:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v1.begin(),v1.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">Vector&nbsp;v2:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v2.begin(),v2.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">set_symmetric_difference&nbsp;operator,&nbsp;v1&nbsp;to&nbsp;v2:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;set_symmetric_difference(v1.begin(),v1.end(),v2.begin(),v2.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">set_symmetric_difference&nbsp;operator,&nbsp;v2&nbsp;to&nbsp;v1:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;set_symmetric_difference(v2.begin(),v2.end(),v1.begin(),v1.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&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>
<br>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">Includes&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">:<br>Vector&nbsp;v1:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;"><br>Vector&nbsp;v2:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;"><br>v2&nbsp;</span><span style="color: #0000ff;">is</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;v1&nbsp;</span><span style="color: #000000;">?</span><span style="color: #000000;">&nbsp;no<br>v1&nbsp;</span><span style="color: #0000ff;">is</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;v2&nbsp;</span><span style="color: #000000;">?</span><span style="color: #000000;">&nbsp;yes<br><br>Vector&nbsp;v1:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;"><br>Vector&nbsp;v2:&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;"><br>set_union&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">&nbsp;on&nbsp;v1,v2:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;"><br><br>Vector&nbsp;v1:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;"><br>Vector&nbsp;v2:&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;"><br>set_intersecion&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">&nbsp;on&nbsp;v1,v2:&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;"><br><br>Vector&nbsp;v1:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;"><br>Vector&nbsp;v2:&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;"><br>set_difference&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">,&nbsp;v1&nbsp;to&nbsp;v2:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;"><br>set_difference&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">,&nbsp;v2&nbsp;to&nbsp;v1:&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;"><br><br>Vector&nbsp;v1:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;"><br>Vector&nbsp;v2:&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;"><br>set_symmetric_difference&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">,&nbsp;v1&nbsp;to&nbsp;v2:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;"><br>set_symmetric_difference&nbsp;</span><span style="color: #0000ff;">operator</span><span style="color: #000000;">,&nbsp;v2&nbsp;to&nbsp;v1:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">8</span></div>
<br><img src ="http://www.cppblog.com/patriking/aggbug/138722.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/patriking/" target="_blank">patriking</a> 2011-01-18 10:17 <a href="http://www.cppblog.com/patriking/archive/2011/01/18/138722.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STL之Merge</title><link>http://www.cppblog.com/patriking/archive/2011/01/17/138692.html</link><dc:creator>patriking</dc:creator><author>patriking</author><pubDate>Mon, 17 Jan 2011 13:35:00 GMT</pubDate><guid>http://www.cppblog.com/patriking/archive/2011/01/17/138692.html</guid><wfw:comment>http://www.cppblog.com/patriking/comments/138692.html</wfw:comment><comments>http://www.cppblog.com/patriking/archive/2011/01/17/138692.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/patriking/comments/commentRss/138692.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/patriking/services/trackbacks/138692.html</trackback:ping><description><![CDATA[STL中合并算法merge介绍，merge与inplace_merge。<br>merge合并两个有序的sequence，默认为&lt;比较，可自定义比较函数comp，结果保存在[result, result + (last1 - first1) + (last2 - first2))
中。函数定义如下：<br>OutputIterator merge (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result)<br>OutputIterator merge (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result, Compare comp)<br><br>inplace_merge合并一个中前后两段分别有序的序列，即[first,middle)与[middle,last)分别有序，合并这两个子序列，并把结果保存在[first,last）中。<br>inplace_merge (BidirectionalIterator first, BidirectionalIterator middle, BidirectionalIterator last);<br>inplace_merge (BidirectionalIterator first, BidirectionalIterator middle, BidirectionalIterator last, Compare comp);<br><br>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">#include</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>#include</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</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</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iterator</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>#include</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></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()<br>{<br>&nbsp;&nbsp;&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;">v1;<br>&nbsp;&nbsp;&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;">v2;<br>&nbsp;&nbsp;&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;">v3;<br>&nbsp;&nbsp;&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;vecitr;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v1.push_back(i</span><span style="color: #000000;">%</span><span style="color: #000000;">7</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v2.push_back(i</span><span style="color: #000000;">%</span><span style="color: #000000;">4</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;sort(v1.begin(),v1.end());<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;">Fisrt&nbsp;vecter:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v1.begin(),v1.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;sort(v2.begin(),v2.end());<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;">Second&nbsp;vecter:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v2.begin(),v2.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">Merge&nbsp;this&nbsp;two&nbsp;vecter:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;merge(v1.begin(),v1.end(),v2.begin(),v2.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v3.push_back(i</span><span style="color: #000000;">%</span><span style="color: #000000;">7</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;sort(v3.begin(),v3.end());<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;x&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;v3.size();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v3.push_back(i</span><span style="color: #000000;">%</span><span style="color: #000000;">4</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;vecitr&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;v3.begin();<br>&nbsp;&nbsp;&nbsp;&nbsp;advance(vecitr,x);<br>&nbsp;&nbsp;&nbsp;&nbsp;sort(vecitr,v3.end());<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;">Third&nbsp;vecter:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v3.begin(),v3.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;">inplace_Merge&nbsp;third&nbsp;vecter:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;inplace_merge(v3.begin(),vecitr,v3.end());<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v3.begin(),v3.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&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>}</span></div>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">Fisrt&nbsp;vecter:&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;"><br><br>Second&nbsp;vecter:&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;"><br><br>Merge&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">&nbsp;two&nbsp;vecter:&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;"><br><br>Third&nbsp;vecter:&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;"><br><br>inplace_Merge&nbsp;third&nbsp;vecter:&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span></div>
<br><br><img src ="http://www.cppblog.com/patriking/aggbug/138692.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/patriking/" target="_blank">patriking</a> 2011-01-17 21:35 <a href="http://www.cppblog.com/patriking/archive/2011/01/17/138692.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STL之Binary search</title><link>http://www.cppblog.com/patriking/archive/2011/01/16/138617.html</link><dc:creator>patriking</dc:creator><author>patriking</author><pubDate>Sun, 16 Jan 2011 14:40:00 GMT</pubDate><guid>http://www.cppblog.com/patriking/archive/2011/01/16/138617.html</guid><wfw:comment>http://www.cppblog.com/patriking/comments/138617.html</wfw:comment><comments>http://www.cppblog.com/patriking/archive/2011/01/16/138617.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/patriking/comments/commentRss/138617.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/patriking/services/trackbacks/138617.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; STL中对于有序序列（vector,list等）提供了相当相当强大的二分搜索Binary search算法。对于可以随机访问容器（如vector等），binary search负载度为对数级别（LogN)，对于非随机访问容器（如list），则算法复杂度为线性。现在简要介绍一下几种常用的binary search算法：<br><br>ForwardIterator lower_bound (ForwardIterator first,ForwardIterator last, const T&amp; value)<br>ForwardIterator lower_bound (ForwardIterator first,ForwardIterator last, const T&amp; value, Compare comp)<br>//查找最远的一个iterator i， 使得[first,i)里面的任意一个iterator j，有 *j &lt; value or comp(*j,value)==true. <br><br>ForwardIterator upper_bound (ForwardIterator first,ForwardIterator last, const T&amp; value)<br>ForwardIterator upper_bound (ForwardIterator first,ForwardIterator last, const T&amp; value, Compare comp)<br>//查找最远的一个iterator i， 使得[first,i)里面的任意一个iterator j，有 !(*j &lt; value) or comp(*j,value)==false. <br><br>pair equal_range(ForwardIterator first, ForwardIterator last, const T&amp; value)<br>pair equal_range(ForwardIterator first, ForwardIterator last, const T&amp; value, Compare comp)<br>//查找最大的subrange[i,j)，使得任意一个iterator in [i,j)满足!(*k&lt;value) &amp;&amp; !(value&lt;*k) or comp(*k,value)==false &amp;&amp; comp(value,*k)==false.<br><br>bool binary_search (ForwardIterator first, ForwardIterator last, const T&amp; value)<br>bool binary_search (ForwardIterator first, ForwardIterator last, const T&amp; value, Compare comp)<br>// 查找是否在[first,last)中存在iterator i,满足 !(*i&lt;value) &amp;&amp; !(value&lt;*i) or comp(*i,value)==false &amp;&amp; comp(value,*i)==false<br>// 存在则返回true,否则返回false.&nbsp;
<br><br>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">#include</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</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</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">vector</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>#include</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">iterator</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></span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;main()<br>{<br>&nbsp;&nbsp;&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;">v;<br>&nbsp;&nbsp;&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;itr;<br>&nbsp;&nbsp;&nbsp;&nbsp;pair</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&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;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;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">vecpair;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">;&nbsp;i&nbsp;</span><span style="color: #000000;">&lt;=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">;&nbsp;i</span><span style="color: #000000;">++</span><span style="color: #000000;">){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v.push_back(i</span><span style="color: #000000;">%</span><span style="color: #000000;">6</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;sort(v.begin(),v.end());<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;">array:&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;endl&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;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v.begin(),v.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">lower_bound</span><span style="color: #008000;"><br></span><span style="color: #000000;">&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;">lower_bound&nbsp;function,&nbsp;value&nbsp;=&nbsp;3:</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;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;itr&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;lower_bound(v.begin(),v.end(),</span><span style="color: #000000;">3</span><span style="color: #000000;">);<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;&nbsp;&nbsp;&nbsp;[first,&nbsp;itr)&nbsp;=&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v.begin(),itr,ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;&nbsp;&nbsp;&nbsp;[itr,&nbsp;last)&nbsp;=&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(itr,v.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;upper_bound</span><span style="color: #008000;"><br></span><span style="color: #000000;">&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;">upper_bound&nbsp;function,&nbsp;value&nbsp;=&nbsp;3:</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;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;itr&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;upper_bound(v.begin(),v.end(),</span><span style="color: #000000;">3</span><span style="color: #000000;">);<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;&nbsp;&nbsp;&nbsp;[first,&nbsp;itr)&nbsp;=&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(v.begin(),itr,ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<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;&nbsp;&nbsp;&nbsp;[itr,&nbsp;last)&nbsp;=&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(itr,v.end(),ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;equal_range</span><span style="color: #008000;"><br></span><span style="color: #000000;">&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;">equal_range&nbsp;function,&nbsp;value&nbsp;=&nbsp;3:</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;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;vecpair&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;equal_range(v.begin(),v.end(),</span><span style="color: #000000;">3</span><span style="color: #000000;">);<br>&nbsp;&nbsp;&nbsp;&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;">&nbsp;&nbsp;&nbsp;&nbsp;[vecpair-&gt;first,&nbsp;vecpair-&gt;second)&nbsp;=&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br>&nbsp;&nbsp;&nbsp;&nbsp;copy(vecpair.first,&nbsp;vecpair.second,&nbsp;ostream_iterator</span><span style="color: #000000;">&lt;</span><span style="color: #0000ff;">int</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">(cout,</span><span style="color: #000000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">binary_search,&nbsp;value&nbsp;=&nbsp;3</span><span style="color: #008000;"><br></span><span style="color: #000000;">&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;">binary_search&nbsp;function,&nbsp;value&nbsp;=&nbsp;3:</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>&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;">3&nbsp;is&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;(binary_search(v.begin(),v.end(),</span><span style="color: #000000;">3</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;">:</span><span style="color: #000000;">"</span><span style="color: #000000;">not&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;">in&nbsp;array.</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>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">binary_search,&nbsp;value&nbsp;=&nbsp;6</span><span style="color: #008000;"><br></span><span style="color: #000000;">&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;">binary_search&nbsp;function,&nbsp;value&nbsp;=&nbsp;6:</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>&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;">6&nbsp;is&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;(binary_search(v.begin(),v.end(),</span><span style="color: #000000;">6</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;">:</span><span style="color: #000000;">"</span><span style="color: #000000;">not&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;">in&nbsp;array.</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>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&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;">;&nbsp;&nbsp;&nbsp;&nbsp;<br>}<br>&nbsp;<br></span></div>
<br>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">array:<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;"><br>lower_bound&nbsp;function,&nbsp;value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">:<br>&nbsp;&nbsp;&nbsp;&nbsp;[first,&nbsp;itr)&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;[itr,&nbsp;last)&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;"><br><br>upper_bound&nbsp;function,&nbsp;value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">:<br>&nbsp;&nbsp;&nbsp;&nbsp;[first,&nbsp;itr)&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;"><br>&nbsp;&nbsp;&nbsp;&nbsp;[itr,&nbsp;last)&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;"><br><br>equal_range&nbsp;function,&nbsp;value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">:<br>&nbsp;&nbsp;&nbsp;&nbsp;[vecpair</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">first,&nbsp;vecpair</span><span style="color: #000000;">-&gt;</span><span style="color: #000000;">second)&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;"><br><br>binary_search&nbsp;function,&nbsp;value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">:<br></span><span style="color: #000000;">3</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">is</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;array.<br><br>binary_search&nbsp;function,&nbsp;value&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">:<br></span><span style="color: #000000;">6</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">is</span><span style="color: #000000;">&nbsp;not&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;array.</span></div>
<br><br> <img src ="http://www.cppblog.com/patriking/aggbug/138617.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/patriking/" target="_blank">patriking</a> 2011-01-16 22:40 <a href="http://www.cppblog.com/patriking/archive/2011/01/16/138617.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>