这篇文章主要介绍“C++中的deque怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++中的deque怎么使用”文章能帮免费云主机域名助大家解决问题。要使用deque,我们需要包含头文件,定义deque对象如下:deque支持的基本操作如下:在deque的队首插入元素:push_front()方法。在deque的队尾插入元素:push_back()方法。删除deque队首的元素:pop_front()方法。删除deque队尾的元素:pop_back()方法。deque的长度:size()方法。判断deque是否为空:empty()方法。访问deque队首元素:front()方法。访问deque队尾元素:back()方法。示例代码如下:执行结果:长度:2
3 1deque支持迭代器,可以按照指针的方式遍历deque中的所有元素。deque迭代器支持前向访问,但不支持随机访问,即不支持下标操作。deque迭代器又分为普通迭代器和反向迭代器,可以分别用begin(),end(),rbegin(),rend()方法来获取。示例代码如下:执行结果:正向遍历:4 1 2 3
反向遍历:3 2 1 4对于在最差情况下,即内存池容量已满的情况,deque在表现上比较优,它的时间复杂度为O(1),因为deque在前端和后端进行插入和删除的操作所需时间复杂度为O(1),但如果在中间进行插入和删除,则时间复杂度为O(N),因为因为需要把后面的元素往后移动。同时,它的空间复杂度为O(N),其中N表示deque中元素的个数。滑动窗口问题是指在一个序列中找出所有长度为k的子序列,并且每次移动一个单位,重复执行这个操作,最终得到所有的子序列。这个问题在处理字符串问题,尤其是搜索问题中经常出现。我们可以用deque来解决这个问题,将待处理的数据元素存入到deque中,每次向右滑动窗口的时候从左边移除最先加入的元素,同时从右边添加一个新的元素。示例代码如下:此示例代码中,我们定义了一个deque用于存储元素下标,同时维护单调性,使得队列中的元素单调递增。在每次可取的滑动窗口过程中,只需找到队列中的最大值。这个示例中的时间复杂度为O(N)。关于“C++中的deque怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。
这篇文章主要介绍了VMware虚拟机怎么安装及联网的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇VMware虚拟机怎么安装及联网文章都会有所收获,下面我们一起来看看吧。1)VMware 12,第一个图和第二个图是借用其他网友的,本…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。