C++/Deque/deque subscript indexer

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Use indexer to add elements to a deque

<source lang="cpp">

  1. include <iostream>
  2. include <cassert>
  3. include <algorithm>
  4. include <vector>
  5. include <deque>

using namespace std; int main() {

 deque<int>  deque1(5);
 for (int i = 0; i < 5; ++i)
   deque1[i] = i + 5;
 deque<int>::iterator pos;
 for (pos=deque1.begin(); pos!=deque1.end(); ++pos) {
       cout << *pos << " ";
 }
 return 0;

} /* 5 6 7 8 9

*/        
 </source>


Use subscript operator to modify element at location 1

<source lang="cpp">

  1. include <iostream>

using std::cout; using std::endl;

  1. include <deque> // deque class-template definition
  2. include <algorithm> // copy algorithm
  3. include <iterator> // ostream_iterator

int main() {

  std::deque< double > values; // create deque of doubles
  std::ostream_iterator< double > output( cout, " " );
  // insert elements in values
  values.push_front( 2.2 );
  values.push_front( 3.5 );
  values.push_back( 1.1 );
  cout << "values contains: ";
  std::copy( values.begin(), values.end(), output );
  // use subscript operator to modify element at location 1
  values[ 1 ] = 5.4;
  cout << "\nAfter values[ 1 ] = 5.4, values contains: ";
  std::copy( values.begin(), values.end(), output );
  cout << endl;
  return 0;

} /* values contains: 3.5 2.2 1.1 After values[ 1 ] = 5.4, values contains: 3.5 5.4 1.1

*/        
 </source>


Use subscript operator to obtain elements of values

<source lang="cpp">

  1. include <iostream>

using std::cout; using std::endl;

  1. include <deque> // deque class-template definition
  2. include <algorithm> // copy algorithm
  3. include <iterator> // ostream_iterator

int main() {

  std::deque< double > values; // create deque of doubles
  std::ostream_iterator< double > output( cout, " " );
  values.push_front( 2.2 );
  values.push_front( 3.5 );
  values.push_back( 1.1 );
  cout << "values contains: ";
  // use subscript operator to obtain elements of values
  for ( int i = 0; i < values.size(); i++ )
     cout << values[ i ] << " ";
  cout << endl;
  return 0;

} /* values contains: 3.5 2.2 1.1

*/        
 </source>