C++之STL--什么是双端队列(Deque)

C++之STL--什么是双端队列Deque

双端队列表示双端队列。它属于数据结构队列中的一种,即可以从前端或后端的两端进行插入和删除。

Deque创建方式deque<object type> variable
同样需要声明头文件#include<deque>

#include <iostream>
#include <deque>

using namespace std;

int main() {

    deque<string> deque_string;
    deque_string.emplace_back("hello world!");
    deque_string.emplace_back("i am a algorithm engineer");
    deque<string>::iterator iterator1 = deque_string.begin();
    cout << "------------deque_string--------------" << endl;
    while (iterator1 != deque_string.end()) {
        cout << *iterator1 << endl;
        ++iterator1;
    }
    deque<string> copy_string;
    copy_string.operator=(deque_string);
    cout << "------------copy_string---------------" << endl;
    for (deque<string>::iterator iterator1 = copy_string.begin(); iterator1 != copy_string.end();
         ++iterator1) {
        cout << *iterator1;
    }
    cout << endl;
    cout << "deque_maxsize:" << copy_string.max_size() << endl;
    cout << "maxsize_two:" << deque_string.max_size() << endl;
    cout << deque_string.empty() << endl;
    return 0;
}
输出:
------------deque_string--------------
hello world!
i am a algorithm engineer
------------copy_string---------------
hello world!i am a algorithm engineer
deque_maxsize:576460752303423487
maxsize_two:576460752303423487
0 //deque对象不为null

deque常用函数与vector相似

函数介绍
assign()它分配新内容并替换旧内容。
emplace()它将在指定位置添加一个新元素。
emplace_back()它在末尾添加一个新元素。
emplace_front()它在双端队列的开头添加一个新元素。
insert()它在指定位置之前添加一个新元素。
push_back()它在容器的末尾添加一个新元素。
push_front()它在容器的开头添加一个新元素。
pop_back()它从双端队列中删除最后一个元素。
pop_front()它从双端队列中删除第一个元素。
swap()它交换两个双端队列的内容。
clear()它将删除双端队列的所有内容。
empty()它检查容器是否为空。
erase()它删除元素。
max_size()它确定双端队列的最大大小。
resize()它改变了双端队列的大小。
shrink_to_fit()它减少了内存以适合双端队列的大小。
size()它返回元素数。
at()它访问位置pos处的元素。
operator它访问位置pos处的元素。
operator=()它将新的内容分配给容器。
back()它访问最后一个元素。
begin()它将迭代器返回到双端队列的开头。
cbegin()它向双端队列的开头返回一个常量迭代器。
end()它将迭代器返回到末尾。
cend()它将常量迭代器返回到末尾。
rbegin()它将反向迭代器返回到开头。
crbegin()它将常量反向迭代器返回到开头。
rend()它将反向迭代器返回到末尾。
crend()它将常量反向迭代器返回到末尾。
front()它访问最后一个元素。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值