[C++ STL] Deque


Deque

  • 連続メモリに基づくシーケンスコンテナ
  • front、endからの削除と挿入はすべて
  • で使用できます.
  • 任意の要素(インデックス付き)
  • にアクセス可能
  • サイズは可変で、挿入時にサイズを考慮する必要はありません
  • 1.作成


  • タイトルファイル#include <deque>

  • 作成deque<자료형> 변수명 deque<자료형> 변수명(n) set<자료형> 변수명 = {원소1, 원소2, 원소3}
  • ex) deque<int> dq; , deque<int> dq(5);

    2.メンバー関数


    タイプ詳細説明begin()開始点のアドレス値はend()終了点アドレス値戻り(最後の要素ではなく、最後の要素の後)front()最初の要素at(i)i)最後の要素clear()すべての要素push front()最初の要素の前に要素push back()を挿入最後の要素の後に新しい要素pop front()を挿入する前に要素pop back()を削除する要素を削除insert(k,n)反復器が指す位置が空(k,n)反復器であるかどうかを確認n追加(反復器への戻り)erase(k)反復器が指す要素find(k)要素kを削除する反復器が戻る(ない場合はs.endがsize(n)内存空間サイズをnに変更する

    3.例

    #include <iostream>
    #include <deque>
    using namespace std;
    
    void main() {
    	deque<int> dq;
    
    	dq.push_back(2);
    	dq.push_back(3);
    	dq.push_front(1);
    
    	for (int i = 0; i < dq.size(); i++) {
    		cout << dq[i] << endl; // 1 2 3
    	}
    
    	dq.pop_back();
    	dq.push_back(4);
    
    	deque<int>::iterator iter;
    	for (iter = dq.begin(); iter != dq.end(); iter++) {
    		cout << *iter << endl; // 1 2 4
    	}
    
    	cout << dq.empty() << endl; // 0(false);
    
    	dq.clear();
    
    	cout << dq.empty() << endl; // 1(true);
    }

    リファレンス

  • https://en.cppreference.com/w/cpp/container/deque