cppreference.com -> C++ 両端キュー -> 詳細

C++ 両端キュー(std::deque)


コンストラクタ

文法:
  deque();
  deque( size_type size );
  deque( size_type num, const TYPE &val );
  deque( const deque &from );
  deque( input_iterator start, input_iterator end );

C++ 両端キューは以下のいずれかの引数を伴って構築される:

以下のコードは両端キューを生成・表示する例である:

  // 十個の '1' を格納した両端キューを生成する
  deque<int> dq( 10, 1 );
  // イテレータを生成する
  deque<int>::iterator iter;

  // 両端キューの内容を表示する
  for( iter = dq.begin(); iter != dq.end(); iter++ ){ 
    cout << *iter << endl;
  }


Operators

文法:

  []

両端キューの個々の要素に対して [] 演算子を用いてアクセスできる。


assign

文法:

  void assign( input_iterator start, input_iterator end );
  void assign( Size num, const TYPE &val );

関数 assign() は両端キューに対して start から end で表記されるシーケンス、 もしくは num 個の val をセットする。


at

文法:

  reference at( size_type pos );

at() 関数は両端キューの位置 pos にある要素への参照を返す。 位置 pos が有効な範囲外にあるときは out_of_range 例外を送出する。


back

文法:

  reference back();

back() 関数は両端キューの最終要素への参照を返す。


begin

文法:

  iterator begin();

begin() 関数は両端キューの先頭を指す イテレータ を返す。


clear

文法:

  void clear();

clear() 関数は両端キューの全要素を削除する。


empty

文法:

  bool empty();

empty() 関数は両端キューが空のときに true を返し、 そうでないときに false を返す。


end

文法:

  iterator end();

end() 関数は両端キューの末尾を指す イテレータ を返す。 両端キューの最終要素にアクセスするには、イテレータをデクリメントする必要があることに注意。


erase

文法:

  iterator erase( iterator pos );
  iterator erase( iterator start, iterator end );

erase() 関数は位置 pos にある要素 もしくは startend の間にある要素を削除する。 戻り値は、削除された最終要素の直後を指す イテレータ である。


front

文法:

  reference front();

front() 関数は両端キューの先頭要素への参照を返す。


get_allocator

文法:

  allocator_type get_allocator();

get_allocator() 関数は両端キューのアロケータを返す。


insert

文法:

  iterator insert( iterator pos, const TYPE &val );
  iterator insert( iterator pos, size_type num, const TYPE &val );
  void insert( iterator pos, input_iterator start, input_iterator end );

insert() 関数は以下のいずれかの動作を行う:


max_size

文法:

  size_type max_size();

max_size() 関数は両端キューが保持できる最大要素数を返す。


pop_back

文法:

  void pop_back();

pop_back() 関数は両端キューの最終要素を削除する。


pop_front

文法:

  void pop_front();

pop_back() 関数は両端キューの先頭要素を削除する。


push_back

文法:

  void push_back( const TYPE &val );

push_back() 関数は val を両端キュー末尾に追加する。


push_front

文法:

  void push_front( const TYPE &val );

push_front() 関数は val を両端キュー先頭に追加する。


rbegin

文法:

  reverse_iterator rbegin();

rbegin() 関数は両端キュー末尾を指すリバースイテレータ を返す。


rend

文法:

  reverse_iterator rend();

rbegin() 関数は両端キュー先頭を指すリバースイテレータ を返す。


resize

文法:

  void resize( size_type num, TYPE val );

resize() 関数は両端キューのサイズを num に変更し、 新規に追加された項目を val に設定する。


size

文法:

  size_type size();

size() 関数は両端キュー中の要素数を返す。


swap

文法:

  void swap( deque &target );

swap() 関数は両端キュー中の要素を target の要素と交換する。