问题标签 [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.

0 投票
1 回答
241 浏览

java - java adding objects to ArrayDeque at random intervals

Trying to add objects to a ArrayDeque at random intervals. This is what I have

The other methods being used are

When I print out my customer count it is equal to my clock time, which should not be as customers are added at random intervals of 1-10. Any ideas?

0 投票
3 回答
2384 浏览

java - C++ 双端队列的 Java 等价物是什么?

在 C++ 中,我所要做的就是

但是在java中我发现很难使用简单的双端队列我应该怎么做......?更具体地说,我应该如何编写代码以简单地执行与 C++ 中相同的步骤;包括,定义,使用。

更具体地说,我想创建一个双端队列,以便可以在双端队列的前面或后面添加任何整数。并按双端队列的大小打印该双端队列中的整数

0 投票
1 回答
1907 浏览

data-structures - 双端队列(甲板)问题

我知道 Deque 是“双端队列”,它支持队列两端的操作。我的问题是它是如何工作的?例如说我有数字 3,4,2,1,5,6 我执行 push_back(4) push_back(3) push_front(5) push_front(1)

这些数据将如何出现在双端队列中?会像 3,4,5,1 一样 Front 指向 1 并返回 3 吗?所以如果我做 pop_back() 它会返回 3 还是 4?(因为 3 在 4 之前被推送 .. 它充当 FIFO 吗?)对于 pop_front() 类似吗?5还是1?

如果我做 push_back(4) push_back(3) push_back(5) push_back(1)

然后我做了 pop_front() ?它会返回什么?4还是1?

请帮我理解。

提前致谢

0 投票
1 回答
1585 浏览

python - 为什么 collections.deque 比 collections.defaultdict 慢?

请原谅我以如此笼统的方式询问,因为我确信它们的性能取决于人们如何使用它们,但在我的情况下,它比我想要验证值的存在时collections.deque慢得多。collections.defaultdict

我使用了来自 Peter Norvig 的拼写更正,以便根据一小组单词验证用户的输入。由于我没有使用带有词频的字典,所以我一开始使用了简单list的而不是,但当我注意到单个单词查找大约需要 25 秒时,就将defaultdict其替换为。deque

令人惊讶的是,这并不比使用 a 快,list所以我几乎立即返回使用defaultdictwhich 返回的结果。

有人可以向我解释这种性能差异吗?

提前致谢


PS:如果你们中的任何一个想要重现我所说的内容,请更改 Norvig 脚本中的以下行。

0 投票
4 回答
3069 浏览

java - 我应该如何管理对 ArrayDeque 的多线程并发访问?

我的 Swing GUI 显示由后台线程按顺序删除的项目的 JList。

根据 AbstractListModel 的约定,在 JList 后面是一个ArrayDeque<Card>myHopper 实现myHopper.getSize()myHopper.getElementAt()

后台线程使用删除项目myHopper.poll()

毫不奇怪,我目前正在使 AWT 数组索引超出范围异常。

我应该怎么做才能在 EDT 线程和我的后台线程之间正确同步对 myList 的访问?我已经看到参考,Collections.synchronizedList(arrayList)但我认为这不适合我的 ArrayDeque。

0 投票
6 回答
22532 浏览

python - 在 collections.deque 中使用切片表示法

您将如何在deque不更改以下内容的情况下有效、优雅和 Python 地提取项目 3..6:

切片符号似乎不适用于deque...

0 投票
1 回答
1148 浏览

python - 使用链表在python中实现dequeue

我在 python 中使用一个简单的列表实现了一个 Dequeue。但是我需要为链表实现一个单独的类并用它实现出队。为此,左右两端都需要指针引用。我不知道该怎么做。一些机构可以提供一些参考或实现..

0 投票
2 回答
1541 浏览

c++ - deque 的问题:map<..., deque<>> 失败,但 vector 和 list 不是?

我有一个代码:

那打算合并两个someMap0xcdcdcdcd但是由于内存错误(指针)而导致程序崩溃的问题。只有当 map 包含双端队列时才会发生这种情况,并且当有列表或向量时一切正常。可能是什么?

这是我使用双端队列时的内存问题。Insert 调用了一堆复制构造函数。在将点复制到内存后,我也有一些属性,someClass如下所示:

0x00959B48 00 00 00 00 00 00 00 00

就在错误发生之前(在复制构造函数中someClass),该字段(复制对象)指向此处(相同地址):

0x00959B48 f0 9b 95 00 00 00 00 00

离这里不远的地方有一个看起来像地址的东西(0x00959B48):

0x00959B0F fd ab ab ab ab ab

指向该复制对象的其他指针也指向无效内存(0xcdcdcdcd<- 感谢 MSVS 在调试模式下指出这一点)。

然后我为那个地址()设置内存写断点,0x00959B48这就是我发现的:

所以我们所拥有的是对该对象的破坏。

等值在 STL 代码中多次更改,如下所示:

进入这个

0x00959B48 08 f6 12 00 00 00 00 00

最后回到我们最后所拥有的

0x00959B48 f0 9b 95 00 00 00 00 00

所以我们所拥有的是对象被销毁,内存被覆盖,并且对象返回到充满垃圾(可能是地图数据)的同一个内存。我用 list 和 vector 替换了 deque ,两者都运行良好。所以有一个问题:deque到底发生了什么,或者我做错了,我应该如何解决这个问题?

编辑:这是功能代码:

这是一些类:

0 投票
2 回答
27875 浏览

iphone - 在 NSMutableArray 的开头添加一个对象?

有没有一种有效的方法可以将对象添加到 的开头NSMutableArray?我正在寻找一个好的双端队列objective C也可以。

0 投票
3 回答
1240 浏览

c++ - 双端队列索引的 C++ swap()

我有两个问题,第二个是可选的。首先,在下面的程序(一个简单卡片程序的原型)中,我收到以下错误:

(29): 错误 C2660: 'shuffle' : 函数不接受 1 个参数,代码如下:

为什么我会收到此错误?(我环顾四周并试图自己解决)

其次,我不确定我是否正确地使用了 Fisher-yates 算法,因为在上面不容易找到 c++ 文档(对于使用 swap() 的版本;)(Brownie 指出回答这个问题或指出任何非常糟糕的编码实践,不包括缺少类)

提前致谢!