deque

        deque(双端队列)是一种具有队列和栈性质的数据结构,双端队列是限定插入和删除操作在表的两端进行的线性表。应用头文件#include<deque>

1. deque的构造函数

        deque<int> myDeq1;

        deque<int> myDeq2(4, 3); // 第一一个含有四个元素都为3的deque

        int array[12] = {1, 2,..., 12};

        deque<int> myDeq3(arrary, arrary+6); // 迭代器赋值

 

2. deque的插入和赋值

        1) iterator insert( iterator_Where, const Type&_Val);

        2) void insert( iterator_Where, size_type_Count, const Type& _Val);

        3) void insert( iterator_Where, InputIterator_First, InputIterator_Last );

        deque<int> myDeq;

        myDeq.insert(myDeq.begin()+3, 3);

        myDeq.insert(myDeq.begin()+1, 3, 31); // 在myDeq的第二个位置连续加入三个数据31

        deque<int> myDeq1;

        myDeq.insert(myDeq.begin(), myDeq1.begin(), myDeq1.end());

        4) void push_back( const Type&_Val);

        5) void push_front( const Type&_Val);

        myDeq.push_back(1);

        myDeq.push_front(2);

        6) void assign( InputIterator_First, InputIterator_Last );

        7) void assign( size_type_Count, const Type&_Val);

        myDeq.assign(myDeq1.begin(), myDeq1.end()); // 删除myDeq中的所有的元素,添加myDeq1到myDeq中

        myDeq.assign(10, 3); // 删除myDeq中的所有元素,并且添加10个3到myDeq中

 

 

3. deque 的删除

        1) iterator erase(iterator_Where);

        2) iterator erase(iterator_First, iterator,_Last)

        deque<int> myDeq;

        myDeq.erase(myDeq.begin()); //删除第一个元素

        myDeq.erase(myDeq.begin(), myDeq.end());

        3) void pop_back( ); // 删除最后一个元素

        4) void pop_front();  // 删除最前一个元素

        myDeq.pop_back();

        myDeq.pop_front();

 

4. deque的取值

        1) const_iterator end( ) const;

        2) iterator end( );

        deque<int> myDeq;

        deque<int>::iterator iter;

        iter = myDeq.end(); // 得到myDeq的结尾,是一个空

        3) reference front( );

        4) const_reference front( ) const;

        int& value = myDeq.front();  // 取得第一个元素的值

        int value = myDeq[3];          // 获取第四个元素的值

        5) reference at( size_type_Pos);

        6) const_reference at( size_type_Pos) const;

        const int& value = myDeq.at(3); // 获取第四个元素的值

5. deque的其他成员方法

        begin()                         Returns an iterator addressing the first element in the deque.

        clear()                          Erases all the elements of a deque.

        empty()                       Tests if a deque is empty.

        end()                            Tests if a deque is empty.

        deque()                       Constructs a deque of a specific size or with elements of a specific value

                                              or with a specific allocator or as a copy of all or part of some other deque.

        get_allocator()          Returns a copy of the allocator object used to construct the deque.

        max_size()                 Returns the maximum length of the deque.

        rbegin()                       Returns an iterator to the first element in a reversed deque.

        rend()                          Returns an iterator that points just beyond the last element in a reversed deque.

        resize()                       Specifies a new size for a deque.

        size()                           Returns the number of elements in the deque.

        swap()                        Exchanges the elements of two deque.

 

       

   

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值