STLでの双方向キューdeque

1276 ワード

1.STLの双方向キューdeque
  • dequeはシーケンスコンテナの一種であり、可変長配列でもある.Dequeを使用するには、ヘッダファイルdequeを含める必要があります.vectorに適用されるすべての操作はdequeに適用されます.
  • dequeとvectorには似たようなところがたくさんあります.Dequeでは、ランダムアクセスの任意の要素は定数時間内に完了します(vectorより遅い).これはvectorに比べて、vectorがヘッダから要素を削除または追加する速度が遅く、テールに要素を追加する性能が良好であり、dequeはヘッダテールから要素を追加する性能が良好である(多くの場合、定数時間内に完了することができる).2つのvectorにないメンバー関数があります:
        void push_front (const T & val);  //   val        
        void pop_front();  //         
    
  • 2.例は次のとおりです.
        #include "iostream"
        #include "deque"
    
        using namespace std;
    
        /*    deque: queue                      */
    
    
        int main(){
            deque d;
            for(int i = 0; i < 100; i++)
                d.push_back(i);
            cout << "size1 = " << d.size() << endl;
            d.push_front(-1); //  val       
            cout << "d[0]=" << d.at(0) << ",size2 = " << d.size() << endl;
            d.pop_front();  //          
            cout << "d[0]=" << d.at(0) << ",size3 = " << d.size() << endl;
            d.resize(0);
            cout << "d.empty() = " << d.empty() << endl;
    
            return 0;
        }