问题标签 [deque]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在java中实现双端队列的问题
抱歉,只是从我这里的问题开始:这里我正在尝试运行此方法以从双面队列(deque)中删除通用值(EltType),但我一直收到错误,我两次调用 insertFirst ,然后将值“3”两次插入到数组中,然后,当我运行 removeFirst 时,它将打印出一次“3”,然后打印出“Null”。有人能帮我吗?
谢谢 :)
java - 找不到基于数组的双端队列问题,但出现 outOfBounds 异常
我一直试图弄清楚这个问题,但无济于事。我想我的代码一定有几个我看不到的问题。我之前使用稍微复杂一点的方式实现了这个,并以更简单的形式编写它来帮助我下面一年中正在苦苦挣扎的朋友,但我最终让自己陷入了困境!
代码如下:
问题是当我打电话时
这个,它返回一个错误。
insertLast 方法也是如此。我想不通,希望 stackOverflow 的仔细审视可以帮助我。非常感谢 !
java - 有人可以快速给我的双端队列代码吗?
已经为此工作了一段时间,我想我终于破解了它,它适用于我所有的测试,但我感觉会有一些琐碎的问题。这是一个高度简化的双面队列(deque)版本,每次添加一个值时,都会创建一个临时数组来存储所有值,然后附加新值。我相信这种方式最容易解释。如果有人可以请仔细检查我是正确的,这里没有明显的错误,我将非常感激。非常感谢大家!:)
scala - Scala 中是否可以有两个“同步”优先级队列?
我有一组具有两种优先级的对象。我可以创建两个按它们排序的 PriorityQueue。问题是,当我从其中一个元素中取出元素时,它显然不会从另一个元素中消失。
是否可以“同步”创建 2 个队列,以便当元素从一个队列中删除时,它将从另一个队列中删除?
java - 使用循环数组实现双端队列?
我在使用循环数组实现这个双端队列时遇到了很多麻烦;特别是,无论我尝试什么,删除方法似乎都在删除错误的元素。任何人都可以帮忙吗?
java - 扩展圆形数组双端队列的问题
问候,
我正在尝试使用在数组已满时扩展的循环数组来实现 Deque。我的问题似乎是数组拒绝扩展。要么我计算 size() 不正确,要么我更新前后索引的方式有问题。我已经看过很多次了,我似乎明白了这一点。任何人都可以帮忙吗?
测试输入:
测试输出:我设置了几个打印语句,由于某种原因,大小始终保持在 7...
c - 队列性能明智,这是更好的实现 - 数组或链表
当我必须插入很少的元素时,哪种方式可以更快地入队和出队,数组比链表好吗?
我需要插入一些元素,并且必须从队列中删除并读取已删除的元素。如果它是数组,我可能必须在每次删除元素时修改索引。插入和删除也可以同时发生。
从下面的案例中哪一个更好?
数组代码
链表
c++ - C++中双端队列的实现
我正在编写 Deque 的实现作为编程练习,但它一点也不顺利。我缺少一些关键功能,这些功能是使我获得正确功能的测试主程序所需的。
到目前为止,这是我的代码:
我想知道是否有人可以告诉我第 66 行的函数正在返回:
因为我不确定我做错了什么。另外,如果有人愿意给我一个 pop_front() 函数的示例,以便我也可以使用它来创建 pop_back() 函数,那就太好了。最后,我已经完成了一个擦除函数,但我不确定如何创建第二个,它基本上擦除了两个迭代器范围内的一个值,它在第 176 行中引用。
任何帮助将不胜感激。先感谢您。
c++ - 尝试使用 Win32 线程进行异步 I/O
我正在为 Windows 编写一个串口软件。为了提高性能,我尝试将例程转换为使用异步 I/O。我已经编写好代码并且工作得相当好,但我是这方面的半初学者,我想进一步提高程序的性能。在程序的压力测试期间(即以高波特率尽可能快地向/从端口突发数据),CPU 负载变得相当高。
如果有人在 Windows 中具有异步 I/O 和多线程方面的经验,如果您能看看我的程序,我将不胜感激。我有两个主要担忧:
异步 I/O 是否正确实现?我在网上找到了一些相当可靠的来源,建议您可以通过在最后用您自己的数据实现您自己的 OVERLAPPED 结构来将用户数据传递给回调函数。这似乎工作得很好,但对我来说确实有点“骇人听闻”。此外,当我从同步/轮询转换为异步/回调时,程序的性能并没有太大改善,这让我怀疑我做错了什么。
将 STL std::deque 用于 FIFO 数据缓冲区是否合理?由于程序当前正在编写,我只允许一次接收 1 个字节的数据,然后必须对其进行处理。因为我不知道我会收到多少数据,所以可能是无穷无尽的。我假设当它必须分配数据时,这种每次 1 字节的行为会在双端队列后面产生缓慢的行为。而且我也不相信双端队列是线程安全的(我应该吗?)。如果使用 STL deque 不明智,有什么建议可以使用更好的数据类型吗?基于静态数组的循环环形缓冲区?
也欢迎对代码的任何其他反馈。
实现了串行例程,因此我有一个名为“Comport”的父类,它处理与串行 I/O 相关的所有内容。从这个类中,我继承了另一个名为“ThreadedComport”的类,它是一个多线程版本。
ThreadedComport 类(它的相关部分)
通过 CreateThread() 创建的主线程例程:
依次调用以下三个函数:
异步 I/O 回调函数:
c++ - 我需要在析构函数中清理双端队列中的对象吗?
我的双端队列包含对象,而不是指针。
如:
我知道它是否是指针,我必须在解构函数中清理它。
我的问题是:如果只是反对,是否真的不需要像这样清理 MyObject: