deque(2)

deque(2)

---雨竹清风

一、  deque创建

1)    创建一个空的deque

deque<int> d;

2)    创建一个包含n个元素的deque,其默认值为0

deque<int> d1(10);//创建一个含有10个元素的双端队列,其默认值为0

3)    创建一个包含有n个元素的deque,其值初始化为5.2

deque<int> d2(10,5.2);//创建一个含有10个元素的双端队列,其值为5.2

4)    deque的一个对象去初始化另一个对象

deque<int> d3(d2);//使用一个对象d2,来初始化另一个对象d3

5)    将迭代器区间所指的元素拷贝到deque

int array[] = {1,5,6,8};

deque<int> d4(array, array+3);

二、  deque初始化赋值

使用push_back()函数进行初始化。

deque<int> d;

d.push_back(1);

d.push_back(2);

三、  遍历

正向遍历:使用[],或者*来遍历。

int array[] = {1,5,6,8};

deque<int> d4(array, array+3);

for (int i = 0; i < d4.size(); ++i)

{

   cout<<d4[i]<<" ";

   }

  使用迭代器iterator

 deque<int>::iterator it = d4.begin();

for (it; it!= d4.end(); ++it)

{

   cout<<*it<<endl;

  }

反向遍历:使用迭代器reverse_iterator

deque<int>::reverse_iterator itt;

  for (itt = d4.rbegin(); itt != d4.rend(); ++itt)

  {

     cout<<*itt<<endl;

  }

四、  插入

不仅仅可以在队头、队尾插入,而且可以在任何位置插入。

在队头插入数据使用的是push_front(),在队尾插入数据使用的是push_back(),在任意位置插入使用的是insert()函数。

d4.insert(d4.begin()+2,7);

五、  删除

删除队头元素pop_front(),删除队尾元素pop_back(),删除pos所指的元素erase(pos),删除迭代器区间所指的所有元素pop_erase(first,last),清除所有元素clear()

d4.pop_front();

d4.pop_back();

d4.clear();

六、  交换

    vector相似,swap()函数实现两个deque中的数值的交换。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值