A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FData_Structure%2FDeque</id>
		<title>C++/Data Structure/Deque - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%2FData_Structure%2FDeque"/>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Data_Structure/Deque&amp;action=history"/>
		<updated>2026-04-09T23:31:20Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B/Data_Structure/Deque&amp;diff=944&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Data_Structure/Deque&amp;diff=944&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:06Z</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://cppe.ru/index.php?title=C%2B%2B/Data_Structure/Deque&amp;diff=945&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B/Data_Structure/Deque&amp;diff=945&amp;oldid=prev"/>
				<updated>2010-05-25T10:24:20Z</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;==Assigning deque objects.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;deque&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  deque&amp;lt;char&amp;gt; dequeObject1(10), dequeObject2;&lt;br /&gt;
  int i;&lt;br /&gt;
  for(i = 0; i &amp;lt;10; i++) &lt;br /&gt;
     dequeObject1[i] = i + &amp;quot;A&amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents of dequeObject1 are: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject1.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject1[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  // assign one deque to another&lt;br /&gt;
  dequeObject2 = dequeObject1;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Size of dequeObject2 is &amp;quot; &amp;lt;&amp;lt; dequeObject2.size() &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents of dequeObject2 are: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject2.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject2[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  dequeObject2.assign(dequeObject1.begin()+2, dequeObject1.end()-2);&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Size of dequeObject2 is &amp;quot; &amp;lt;&amp;lt; dequeObject2.size() &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents of dequeObject2 are: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject2.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject2[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  dequeObject2.assign(8, &amp;quot;X&amp;quot;);&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Size of dequeObject2 is &amp;quot; &amp;lt;&amp;lt; dequeObject2.size() &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents of dequeObject2 are: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject2.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject2[i];&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrate a deque.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;deque&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  deque&amp;lt;char&amp;gt; dequeObject1;&lt;br /&gt;
  char str[] = &amp;quot;Using a deque.&amp;quot;;&lt;br /&gt;
  int i;&lt;br /&gt;
  for(i = 0; str[i]; i++) {&lt;br /&gt;
    dequeObject1.push_front(str[i]);&lt;br /&gt;
    dequeObject1.push_back(str[i]);&lt;br /&gt;
  }&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Original dequeObject1:\n&amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject1.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject1[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;strlen(str); i++) &lt;br /&gt;
     dequeObject1.pop_front();&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;dequeObject1 after popping front:\n&amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject1.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject1[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  deque&amp;lt;char&amp;gt; dequeObject2(dequeObject1); &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;dequeObject2 original contents:\n&amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject2.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject2[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject2.size(); i++)&lt;br /&gt;
     dequeObject2[i] = dequeObject2[i]+1;&lt;br /&gt;
  &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;dequeObject2 transposed contents:\n&amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject2.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject2[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  deque&amp;lt;char&amp;gt;::iterator p = dequeObject1.begin();&lt;br /&gt;
  while(p != dequeObject1.end()) {&lt;br /&gt;
    if(*p == &amp;quot;a&amp;quot;) break;&lt;br /&gt;
    p++;&lt;br /&gt;
  }&lt;br /&gt;
  dequeObject1.insert(p, dequeObject2.begin(), dequeObject2.end());&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;dequeObject1 after insertion:\n&amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject1.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject1[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrate raw storage iterators==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;deque&amp;gt;&lt;br /&gt;
#include &amp;lt;memory&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
class MyClass {&lt;br /&gt;
  int a, b;&lt;br /&gt;
  int sum;&lt;br /&gt;
public:&lt;br /&gt;
  MyClass() { &lt;br /&gt;
     a = b = 0; &lt;br /&gt;
     sum = 0; &lt;br /&gt;
  }&lt;br /&gt;
  MyClass(int x, int y) { &lt;br /&gt;
     a = x; &lt;br /&gt;
     b = y; &lt;br /&gt;
  }&lt;br /&gt;
  MyClass(const MyClass &amp;amp;o) {&lt;br /&gt;
   a = o.a; b = o.b;&lt;br /&gt;
   sum = o.sum;&lt;br /&gt;
  }&lt;br /&gt;
  MyClass operator=(const MyClass &amp;amp;o) {&lt;br /&gt;
    a = o.a; b = o.b;&lt;br /&gt;
    return *this;&lt;br /&gt;
  }&lt;br /&gt;
  void setsum() { &lt;br /&gt;
    sum = a+b; &lt;br /&gt;
  }&lt;br /&gt;
  void show() {&lt;br /&gt;
    cout &amp;lt;&amp;lt; a &amp;lt;&amp;lt; &amp;quot;,&amp;quot; &amp;lt;&amp;lt; b;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot; Sum is: &amp;quot; &amp;lt;&amp;lt; sum &amp;lt;&amp;lt; endl;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  unsigned char raw1[100], raw2[100];&lt;br /&gt;
  MyClass *p;&lt;br /&gt;
  deque&amp;lt;MyClass&amp;gt; dequeObject(5);&lt;br /&gt;
  int i;&lt;br /&gt;
  for(i = 0; i &amp;lt;5; i++) {&lt;br /&gt;
    dequeObject[ i ] = MyClass(i, i);&lt;br /&gt;
    dequeObject[ i ].setsum();&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // store deque in uninitialized memory the wrong way&lt;br /&gt;
  copy(dequeObject.begin(), dequeObject.end(), (MyClass *)raw1);  &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents of raw memory (incorrect):\n&amp;quot;;&lt;br /&gt;
  p = (MyClass *) raw1;&lt;br /&gt;
  for(i = 0; i &amp;lt;5; i++)&lt;br /&gt;
    p[ i ].show();&lt;br /&gt;
  // the right way&lt;br /&gt;
  copy(dequeObject.begin(), dequeObject.end(),raw_storage_iterator&amp;lt;MyClass *, MyClass&amp;gt;((MyClass *)raw2));&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents of raw memory (correct):\n&amp;quot;;&lt;br /&gt;
  p = (MyClass *) raw2;&lt;br /&gt;
  for(i = 0; i &amp;lt;5; i++)&lt;br /&gt;
    p[ i ].show();&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrate resize() for deque==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;deque&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;cmath&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  deque&amp;lt;double&amp;gt; dequeObject1, dequeObject2;&lt;br /&gt;
  double num;&lt;br /&gt;
  int i;&lt;br /&gt;
  for(;;) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter angles (0 to stop): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; num;&lt;br /&gt;
    if(num == 0.0) break;&lt;br /&gt;
    dequeObject1.push_back(num);&lt;br /&gt;
  }&lt;br /&gt;
  dequeObject2.resize(dequeObject1.size());&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject2.size(); i++) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Angle and sine: &amp;quot;;&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject1[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; dequeObject2[i];&lt;br /&gt;
    cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  }&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
   &lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrate swap() for deque==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;deque&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  deque&amp;lt;char&amp;gt; dequeObject1, dequeObject2;&lt;br /&gt;
  int i;&lt;br /&gt;
  for(i = 0; i &amp;lt;26; i++) &lt;br /&gt;
     dequeObject1.push_back(i+&amp;quot;A&amp;quot;);&lt;br /&gt;
  for(i = 0; i &amp;lt;10; i++) &lt;br /&gt;
     dequeObject2.push_front(i+&amp;quot;0&amp;quot;);&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Size of dequeObject1 and dequeObject2: &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; dequeObject1.size() &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; dequeObject2.size() &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;dequeObject1: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject1.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject1[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;dequeObject2: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject2.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject2[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  // swap deques using member function.&lt;br /&gt;
  dequeObject1.swap(dequeObject2);&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Size of dequeObject1 and dequeObject2 after first swap: &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; dequeObject1.size() &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; dequeObject2.size() &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;dequeObject1 after first swap: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject1.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject1[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;dequeObject2 after first swap: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject2.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject2[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  swap(dequeObject1, dequeObject2);&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Size of dequeObject1 and dequeObject2 after second swap: &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; dequeObject1.size() &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; dequeObject2.size() &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;dequeObject1 after second swap: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject1.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject1[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;dequeObject2 after second swap: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject2.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject2[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Deque: push, pop, sort, find, begin, end, insert==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;deque&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
void print( deque&amp;lt;string&amp;gt; );&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    deque&amp;lt;string&amp;gt; dequeObject;                                                  &lt;br /&gt;
    dequeObject.push_back( &amp;quot;yak&amp;quot; );                                             &lt;br /&gt;
    dequeObject.push_back( &amp;quot;zebra&amp;quot; );                                               &lt;br /&gt;
    dequeObject.push_front( &amp;quot;cat&amp;quot; );                                            &lt;br /&gt;
    dequeObject.push_front( &amp;quot;canary&amp;quot; );                                         &lt;br /&gt;
    print(dequeObject);&lt;br /&gt;
    dequeObject.pop_front();                                                    &lt;br /&gt;
    dequeObject.pop_back();                                                     &lt;br /&gt;
    print(dequeObject);&lt;br /&gt;
    //list operations on a deque:&lt;br /&gt;
    dequeObject.erase(find( dequeObject.begin(), dequeObject.end(), &amp;quot;cat&amp;quot; ));           &lt;br /&gt;
    print(dequeObject);&lt;br /&gt;
    dequeObject.insert( dequeObject.begin(), &amp;quot;canary&amp;quot; );                            &lt;br /&gt;
    print(dequeObject);&lt;br /&gt;
    int sz = dequeObject.size();      &lt;br /&gt;
    dequeObject.resize( 5 );          &lt;br /&gt;
    dequeObject[sz] = &amp;quot;fox&amp;quot;;          &lt;br /&gt;
    dequeObject[sz+1] = &amp;quot;elephant&amp;quot;;   &lt;br /&gt;
    dequeObject[sz+2] = &amp;quot;cat&amp;quot;;        &lt;br /&gt;
    print( dequeObject );             &lt;br /&gt;
    dequeObject.erase( dequeObject.begin() + 2 ); &lt;br /&gt;
    print( dequeObject );             &lt;br /&gt;
    //sorting a deque:&lt;br /&gt;
    sort( dequeObject.begin(), dequeObject.end() );                                 &lt;br /&gt;
    print( dequeObject );           &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
void print( deque&amp;lt;string&amp;gt; d ) {&lt;br /&gt;
    typedef deque&amp;lt;string&amp;gt;::const_iterator CI;                 &lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;The number of items in the deque:&amp;quot; &amp;lt;&amp;lt; d.size() &amp;lt;&amp;lt; endl; &lt;br /&gt;
    for ( CI iter = d.begin(); iter != d.end(); iter++ )&lt;br /&gt;
         cout &amp;lt;&amp;lt; *iter &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Iterator values may change.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;deque&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  deque&amp;lt;char&amp;gt; dequeObject;&lt;br /&gt;
  deque&amp;lt;char&amp;gt;::iterator p1, p2;&lt;br /&gt;
  int i;&lt;br /&gt;
  for(i = 0; i &amp;lt;5; i++) &lt;br /&gt;
     dequeObject.push_back(i + &amp;quot;A&amp;quot;);&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Original sequence: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  p1 = dequeObject.begin() + 2;&lt;br /&gt;
  p2 = dequeObject.begin() + 3;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;*p1: &amp;quot; &amp;lt;&amp;lt; *p1 &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;*p2: &amp;quot; &amp;lt;&amp;lt; *p2 &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  dequeObject.insert(p1, &amp;quot;X&amp;quot;);&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Sequence after insert: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject[i] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;*p1: &amp;quot; &amp;lt;&amp;lt; *p1 &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;*p2: &amp;quot; &amp;lt;&amp;lt; *p2 &amp;lt;&amp;lt; endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==One way to reverse-copy a deque.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;deque&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  deque&amp;lt;char&amp;gt; dequeObject;&lt;br /&gt;
  deque&amp;lt;char&amp;gt; reversedQueue;&lt;br /&gt;
  int i;&lt;br /&gt;
  for(i = 0; i &amp;lt;10; i++) &lt;br /&gt;
     dequeObject.push_back(&amp;quot;A&amp;quot;+i);&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents of dequeObject: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject.size(); i++) &lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
  while(!dequeObject.empty()) {&lt;br /&gt;
    reversedQueue.push_front(dequeObject.front());&lt;br /&gt;
    dequeObject.pop_front();&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents of reversedQueue: &amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;reversedQueue.size(); i++) &lt;br /&gt;
    cout &amp;lt;&amp;lt; reversedQueue[i];&lt;br /&gt;
    &lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Reverse iterators and copy.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;deque&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;cstring&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  deque&amp;lt;char&amp;gt; dequeObject1(30), dequeObject2, dequeObject3;&lt;br /&gt;
  int i;&lt;br /&gt;
  char str1[] = &amp;quot;forward&amp;quot;;&lt;br /&gt;
  for(i = 0; str1[i]; i++) &lt;br /&gt;
     dequeObject2.push_back(str1[i]);&lt;br /&gt;
  copy(dequeObject2.begin(), dequeObject2.end(), dequeObject1.begin());&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents dequeObject1 after forward copy:\n&amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject1.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject1[i];&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  char str2[] = &amp;quot;backward&amp;quot;;&lt;br /&gt;
  for(i = 0; str2[i]; i++) &lt;br /&gt;
     dequeObject3.push_back(str2[i]);&lt;br /&gt;
  copy(dequeObject3.rbegin(), dequeObject3.rend(), dequeObject1.begin()+strlen(str1));&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents dequeObject1 after reverse copy:\n&amp;quot;;&lt;br /&gt;
  for(i = 0; i &amp;lt;dequeObject1.size(); i++)&lt;br /&gt;
    cout &amp;lt;&amp;lt; dequeObject1[i];&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use reverse iterators.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;deque&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  deque&amp;lt;int&amp;gt; dequeObject;&lt;br /&gt;
  deque&amp;lt;int&amp;gt;::reverse_iterator rp;&lt;br /&gt;
  int i;&lt;br /&gt;
  for(i = 0; i &amp;lt;10; i++) &lt;br /&gt;
     dequeObject.push_back(i);&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents printed backward:\n&amp;quot;;&lt;br /&gt;
  rp = dequeObject.rbegin();&lt;br /&gt;
  while(rp != dequeObject.rend()) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; *rp &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    rp++;&lt;br /&gt;
  }&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;\n\n&amp;quot;;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Contents printed forward:\n&amp;quot;;&lt;br /&gt;
  rp = dequeObject.rend();&lt;br /&gt;
  while(rp != dequeObject.rbegin()) {&lt;br /&gt;
    rp--;&lt;br /&gt;
    cout &amp;lt;&amp;lt; *rp &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>