c++ deque容器

std::deque(双端队列)是C++标准库中的一个容器,它支持在序列的两端进行快速插入和删除操作。以下是std::deque的一些基础知识点:

包含头文件

使用deque需要包含<deque>头文件

#include <deque>

声明deque

可以声明一个deque并指定它存储的元素类型。

deque<int> myDeque; // 声明一个存储int的deque

插入元素

  • 使用push_front()在deque的开头插入元素。
  • 使用push_back()在deque的末尾插入元素。
  • 使用insert()在指定位置插入元素。
    myDeque.push_front(1); // 在开头插入1  
    myDeque.push_back(2); // 在末尾插入2  
    myDeque.insert(myDeque.begin() + 1, 3); // 在第2个位置插入3

 

删除元素

  • 使用pop_front()删除deque开头的元素。
  • 使用pop_back()删除deque末尾的元素。
  • 使用erase()删除指定位置的元素或元素范围。
    myDeque.pop_front(); // 删除开头的元素  
    myDeque.pop_back(); // 删除末尾的元素  
    myDeque.erase(myDeque.begin() + 1); // 删除第2个元素

访问元素

  • 使用front()访问deque开头的元素。
  • 使用back()访问deque末尾的元素。
  • 使用下标运算符[]at()(提供越界检查)访问指定位置的元素。
    int first = myDeque.front(); // 获取开头的元素  
    int last = myDeque.back(); // 获取末尾的元素  
    int second = myDeque[1]; // 获取第2个元素(注意索引从0开始)  
    // 或者使用at(),如果索引越界会抛出std::out_of_range异常  
    int secondSafe = myDeque.at(1);

遍历deque

可以使用迭代器或范围for循环遍历deque。

for (deque<int>::iterator it = myDeque.begin(); it != myDeque.end(); ++it) {  
    // 遍历每个元素  
    cout << *it << ' ';  
}  
  
// 或者使用范围for循环  
for (int val : myDeque) {  
    cout << val << ' ';  
}

大小和容量

  • 使用size()获取deque中元素的数量。
  • 使用empty()检查deque是否为空。
    size_t numElements = myDeque.size(); // 获取元素数量  
    bool isEmpty = myDeque.empty(); // 检查是否为空

其它操作

  • 使用clear()清空deque。
  • 使用resize()改变deque的大小。
  • 使用assign()替换deque的内容。

这些是std::deque的一些基础知识点。它非常适合用于需要在序列的两端频繁插入和删除元素的应用场景。与std::vector相比,std::deque在两端插入和删除元素时通常具有更好的性能。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值