A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2Fmap_multimap%2Fpair</id>
		<title>C++ Tutorial/map multimap/pair - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2Fmap_multimap%2Fpair"/>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/map_multimap/pair&amp;action=history"/>
		<updated>2026-04-19T04:19:37Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/map_multimap/pair&amp;diff=2093&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/map_multimap/pair&amp;diff=2093&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:17Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/map_multimap/pair&amp;diff=2094&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://www.cppe.ru/index.php?title=C%2B%2B_Tutorial/map_multimap/pair&amp;diff=2094&amp;oldid=prev"/>
				<updated>2010-05-25T10:28:51Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Assign value directly to first and second==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;utility&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  pair&amp;lt;string, int&amp;gt; myPair(&amp;quot;hello&amp;quot;, 5), myOtherPair;&lt;br /&gt;
  myOtherPair.first = &amp;quot;hello&amp;quot;;&lt;br /&gt;
  myOtherPair.second = 6;&lt;br /&gt;
  return (0);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Create a pair object that holds the result of insert()==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;map&amp;gt;&lt;br /&gt;
#include &amp;lt;utility&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
void show(const char *msg, map&amp;lt;string, string&amp;gt; mp);&lt;br /&gt;
int main() {&lt;br /&gt;
  map&amp;lt;string, string&amp;gt; phonemap;&lt;br /&gt;
  phonemap[&amp;quot;A&amp;quot;] = &amp;quot;444-555-1234&amp;quot;;&lt;br /&gt;
  phonemap[&amp;quot;B&amp;quot;] = &amp;quot;555-555-6576&amp;quot;;&lt;br /&gt;
  phonemap[&amp;quot;C&amp;quot;] = &amp;quot;555-555-9843&amp;quot;;&lt;br /&gt;
  show(&amp;quot;Here is the original map: &amp;quot;, phonemap);&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  // Create a pair object that will contain the result of a call to insert().&lt;br /&gt;
  pair&amp;lt;map&amp;lt;string, string&amp;gt;::iterator, bool&amp;gt; result;&lt;br /&gt;
  // Use insert() to add an entry.&lt;br /&gt;
  result = phonemap.insert(pair&amp;lt;string, string&amp;gt;(&amp;quot;Jay&amp;quot;, &amp;quot;555-9999&amp;quot;));&lt;br /&gt;
  if(result.second) cout &amp;lt;&amp;lt; &amp;quot;Jay added.\n&amp;quot;;&lt;br /&gt;
  show(&amp;quot;phonemap after adding Jay: &amp;quot;, phonemap);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
// Display the contents of a map&amp;lt;string, string&amp;gt; by using an iterator.&lt;br /&gt;
void show(const char *msg, map&amp;lt;string, string&amp;gt; mp) {&lt;br /&gt;
  map&amp;lt;string, string&amp;gt;::iterator itr;&lt;br /&gt;
  cout &amp;lt;&amp;lt; msg &amp;lt;&amp;lt; endl;&lt;br /&gt;
  for(itr=mp.begin(); itr != mp.end(); ++itr)&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; itr-&amp;gt;first &amp;lt;&amp;lt; &amp;quot;: &amp;quot; &amp;lt;&amp;lt; itr-&amp;gt;second &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Create a pair object that will contain the result of a call to insert()==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;map&amp;gt;&lt;br /&gt;
#include &amp;lt;utility&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
void show(const char *msg, map&amp;lt;string, string&amp;gt; mp);&lt;br /&gt;
int main() {&lt;br /&gt;
  map&amp;lt;string, string&amp;gt; phonemap;&lt;br /&gt;
  phonemap[&amp;quot;A&amp;quot;] = &amp;quot;444-555-1234&amp;quot;;&lt;br /&gt;
  phonemap[&amp;quot;B&amp;quot;] = &amp;quot;555-555-6576&amp;quot;;&lt;br /&gt;
  phonemap[&amp;quot;C&amp;quot;] = &amp;quot;555-555-9843&amp;quot;;&lt;br /&gt;
  show(&amp;quot;Here is the original map: &amp;quot;, phonemap);&lt;br /&gt;
  phonemap[&amp;quot;B&amp;quot;] = &amp;quot;555 555-5555&amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;New number: &amp;quot; &amp;lt;&amp;lt; phonemap[&amp;quot;B&amp;quot;] &amp;lt;&amp;lt; endl;&lt;br /&gt;
  // Create a pair object that will contain the result of a call to insert().&lt;br /&gt;
  pair&amp;lt;map&amp;lt;string, string&amp;gt;::iterator, bool&amp;gt; result;&lt;br /&gt;
  // Use insert() to add an entry.&lt;br /&gt;
  result = phonemap.insert(pair&amp;lt;string, string&amp;gt;(&amp;quot;J&amp;quot;, &amp;quot;555-9999&amp;quot;));&lt;br /&gt;
  if(result.second) cout &amp;lt;&amp;lt; &amp;quot;J added.&amp;quot;;&lt;br /&gt;
  show(&amp;quot;phonemap after adding J: &amp;quot;, phonemap);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
// Display the contents of a map&amp;lt;string, string&amp;gt; by using an iterator.&lt;br /&gt;
void show(const char *msg, map&amp;lt;string, string&amp;gt; mp) {&lt;br /&gt;
  map&amp;lt;string, string&amp;gt;::iterator itr;&lt;br /&gt;
  cout &amp;lt;&amp;lt; msg &amp;lt;&amp;lt; endl;&lt;br /&gt;
  for(itr=mp.begin(); itr != mp.end(); ++itr)&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; itr-&amp;gt;first &amp;lt;&amp;lt; &amp;quot;: &amp;quot; &amp;lt;&amp;lt; itr-&amp;gt;second &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Default constructor for pair==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;utility&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  pair&amp;lt;string, int&amp;gt; myPair(&amp;quot;hello&amp;quot;, 5), myOtherPair;&lt;br /&gt;
  return (0);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sort a vector of pairs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iterator&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;utility&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
typedef pair&amp;lt;int,string&amp;gt; Pair;&lt;br /&gt;
inline bool less_than_second( const Pair&amp;amp; b1, const Pair&amp;amp; b2 ){&lt;br /&gt;
   return b1.second &amp;lt; b2.second;&lt;br /&gt;
}&lt;br /&gt;
int main(){&lt;br /&gt;
   const char* names[] = { &amp;quot;A&amp;quot;,&amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;,&amp;quot;E&amp;quot; };&lt;br /&gt;
   const int values[] = { 18, 20, 26, 30, 41 };&lt;br /&gt;
   const int num_pairs = sizeof( names ) / sizeof( names[0] );&lt;br /&gt;
   vector&amp;lt;Pair&amp;gt; pair( num_pairs );&lt;br /&gt;
   transform( values, values+num_pairs, names,pair.begin(), make_pair&amp;lt;int,string&amp;gt; );&lt;br /&gt;
   sort( pair.begin(), pair.end() );&lt;br /&gt;
   sort( pair.begin(), pair.end(), less_than_second );&lt;br /&gt;
   vector&amp;lt;Pair&amp;gt;::const_iterator pair_end = pair.end();&lt;br /&gt;
   for( vector&amp;lt;Pair&amp;gt;::const_iterator i = pair.begin();&lt;br /&gt;
      i != pair_end; ++i )&lt;br /&gt;
   cout &amp;lt;&amp;lt; i-&amp;gt;second &amp;lt;&amp;lt; &amp;quot; - $&amp;quot; &amp;lt;&amp;lt; i-&amp;gt;first &amp;lt;&amp;lt; &amp;quot; values\n&amp;quot;;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Use make_pair() function to create a pair==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;utility&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv){&lt;br /&gt;
  pair&amp;lt;string, int&amp;gt; myPair(&amp;quot;hello&amp;quot;, 5), myOtherPair;&lt;br /&gt;
  myOtherPair.first = &amp;quot;hello&amp;quot;;&lt;br /&gt;
  myOtherPair.second = 6;&lt;br /&gt;
  pair&amp;lt;string, int&amp;gt; myThirdPair(myOtherPair);&lt;br /&gt;
  pair&amp;lt;int, int&amp;gt; aPair = make_pair(5, 10);&lt;br /&gt;
  return (0);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Use operator of equal (=)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;utility&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  pair&amp;lt;string, int&amp;gt; myPair(&amp;quot;hello&amp;quot;, 5), myOtherPair;&lt;br /&gt;
  myOtherPair.first = &amp;quot;hello&amp;quot;;&lt;br /&gt;
  myOtherPair.second = 6;&lt;br /&gt;
  pair&amp;lt;string, int&amp;gt; myThirdPair(myOtherPair);&lt;br /&gt;
  if (myOtherPair == myThirdPair) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;myOtherPair is equal to myThirdPair\n&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;myOtherPair is not equal to myThirdPair\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  pair&amp;lt;int, int&amp;gt; aPair = make_pair(5, 10);&lt;br /&gt;
  return (0);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Use operator of less than (==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;utility&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv){&lt;br /&gt;
  pair&amp;lt;string, int&amp;gt; myPair(&amp;quot;hello&amp;quot;, 5), myOtherPair;&lt;br /&gt;
  myOtherPair.first = &amp;quot;hello&amp;quot;;&lt;br /&gt;
  myOtherPair.second = 6;&lt;br /&gt;
  pair&amp;lt;string, int&amp;gt; myThirdPair(myOtherPair);&lt;br /&gt;
  if (myPair &amp;lt; myOtherPair) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;myPair is less than myOtherPair\n&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;myPair is greater than or equal to myOtherPair\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  return (0);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using a Pair to store int and string==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iterator&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;utility&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
typedef pair&amp;lt;int,string&amp;gt; Pair;&lt;br /&gt;
inline bool less_than_second( const Pair&amp;amp; b1, const Pair&amp;amp; b2 ){&lt;br /&gt;
   return b1.second &amp;lt; b2.second;&lt;br /&gt;
}&lt;br /&gt;
int main( )&lt;br /&gt;
{&lt;br /&gt;
   const char* names[] = { &amp;quot;A&amp;quot;,&amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;,&amp;quot;E&amp;quot; };&lt;br /&gt;
   const int values[] = { 18, 20, 26, 30, 41 };&lt;br /&gt;
   const int num_pairs = sizeof( names ) / sizeof( names[0] );&lt;br /&gt;
   vector&amp;lt;Pair&amp;gt; pair( num_pairs );&lt;br /&gt;
   transform( values, values+num_pairs, names,pair.begin(), make_pair&amp;lt;int,string&amp;gt; );&lt;br /&gt;
   if( pair[1].first &amp;gt; pair[3].first )&lt;br /&gt;
      cout &amp;lt;&amp;lt; pair[1].second &amp;lt;&amp;lt; &amp;quot; &amp;gt; &amp;quot; &amp;lt;&amp;lt; pair[3].second &amp;lt;&amp;lt; endl;&lt;br /&gt;
   else if( pair[1].first == pair[3].first )&lt;br /&gt;
      cout &amp;lt;&amp;lt; pair[1].second &amp;lt;&amp;lt; &amp;quot; == &amp;quot; &amp;lt;&amp;lt; pair[3].second &amp;lt;&amp;lt; endl;&lt;br /&gt;
   else&lt;br /&gt;
      cout &amp;lt;&amp;lt; pair[1].second &amp;lt;&amp;lt; &amp;quot; &amp;lt; &amp;quot; &amp;lt;&amp;lt; pair[3].second &amp;lt;&amp;lt; endl;&lt;br /&gt;
   sort( pair.begin(), pair.end() );&lt;br /&gt;
   vector&amp;lt;Pair&amp;gt;::const_reverse_iterator pair_rend = pair.rend();&lt;br /&gt;
   &lt;br /&gt;
   for( vector&amp;lt;Pair&amp;gt;::const_reverse_iterator i= pair.rbegin(); i != pair_rend; ++i )&lt;br /&gt;
      cout &amp;lt;&amp;lt; i-&amp;gt;first &amp;lt;&amp;lt; &amp;quot; - &amp;quot; &amp;lt;&amp;lt; i-&amp;gt;second;&lt;br /&gt;
   sort( pair.begin(), pair.end(), less_than_second );&lt;br /&gt;
   vector&amp;lt;Pair&amp;gt;::const_iterator pair_end = pair.end();&lt;br /&gt;
   for( vector&amp;lt;Pair&amp;gt;::const_iterator i = pair.begin();&lt;br /&gt;
      i != pair_end; ++i )&lt;br /&gt;
      cout &amp;lt;&amp;lt; i-&amp;gt;second &amp;lt;&amp;lt; &amp;quot; - $&amp;quot; &amp;lt;&amp;lt; i-&amp;gt;first &amp;lt;&amp;lt; &amp;quot; values\n&amp;quot;;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Using copy constructor to create another pair==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;utility&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  pair&amp;lt;string, int&amp;gt; myPair(&amp;quot;hello&amp;quot;, 5), myOtherPair;&lt;br /&gt;
  // assign directly to first and second&lt;br /&gt;
  myOtherPair.first = &amp;quot;hello&amp;quot;;&lt;br /&gt;
  myOtherPair.second = 6;&lt;br /&gt;
  // copy construcor&lt;br /&gt;
  pair&amp;lt;string, int&amp;gt; myThirdPair(myOtherPair);&lt;br /&gt;
  return (0);&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vector of pair==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iterator&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;utility&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
typedef pair&amp;lt;int,string&amp;gt; Pair;&lt;br /&gt;
inline bool less_than_second( const Pair&amp;amp; b1, const Pair&amp;amp; b2 ){&lt;br /&gt;
   return b1.second &amp;lt; b2.second;&lt;br /&gt;
}&lt;br /&gt;
int main( )&lt;br /&gt;
{&lt;br /&gt;
   const char* names[] = { &amp;quot;A&amp;quot;,&amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;,&amp;quot;E&amp;quot; };&lt;br /&gt;
   const int values[] = { 18, 20, 26, 30, 41 };&lt;br /&gt;
   const int num_pairs = sizeof( names ) / sizeof( names[0] );&lt;br /&gt;
   vector&amp;lt;Pair&amp;gt; pair( num_pairs );&lt;br /&gt;
   transform( values, values+num_pairs, names,pair.begin(), make_pair&amp;lt;int,string&amp;gt; );&lt;br /&gt;
   sort( pair.begin(), pair.end() );&lt;br /&gt;
   vector&amp;lt;Pair&amp;gt;::const_reverse_iterator pair_rend = pair.rend();&lt;br /&gt;
   &lt;br /&gt;
   for( vector&amp;lt;Pair&amp;gt;::const_reverse_iterator i= pair.rbegin(); i != pair_rend; ++i )&lt;br /&gt;
      cout &amp;lt;&amp;lt; i-&amp;gt;first &amp;lt;&amp;lt; &amp;quot; - &amp;quot; &amp;lt;&amp;lt; i-&amp;gt;second;&lt;br /&gt;
   sort( pair.begin(), pair.end(), less_than_second );&lt;br /&gt;
   vector&amp;lt;Pair&amp;gt;::const_iterator pair_end = pair.end();&lt;br /&gt;
   for( vector&amp;lt;Pair&amp;gt;::const_iterator i = pair.begin();&lt;br /&gt;
      i != pair_end; ++i )&lt;br /&gt;
   cout &amp;lt;&amp;lt; i-&amp;gt;second &amp;lt;&amp;lt; &amp;quot; - $&amp;quot; &amp;lt;&amp;lt; i-&amp;gt;first &amp;lt;&amp;lt; &amp;quot; values\n&amp;quot;;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>