21得票9回答
如何在JavaScript中以循环方式访问数组

我有一个数组,类似于[A,B,C,D]。我想在for循环中访问该数组,如下所示var arr = [A,B,C,D]; var len = arr.length; for(var i = 0; i<len; i++){ 0 - A,B,C 1 - B,C,D 2...

20得票3回答
Haskell中的O(1)循环缓冲区?

我正在使用 Haskell 进行一个小的概念项目,需要使用循环缓冲区。我已经成功地使用数组创建了一个具有 O(1) 旋转的缓冲区,但是插入和删除需要 O(N) 时间。我找到了一种使用列表实现的方法,看起来插入和删除只需要 O(1) 时间,但是由于它维护左右两个列表,当旋转时越过某个边界会花费 ...

18得票4回答
如何在C/C++中编写一个简单的整数循环缓冲区?

我看到很多用于实现循环缓冲区的模板和复杂数据结构。 如何编写一个简单的5个数字整数循环缓冲区? 我认为使用C语言是最直接的方法? 谢谢。

15得票1回答
C++ std::deque的实现:为什么不使用循环缓冲区?

我对deque的实现进行了一些研究。根据这篇帖子,deque使用向量的向量。我知道在开头和结尾推入元素应该都是常数时间,并且需要随机访问。我认为循环缓冲满足所有这些要求,并且更简单。那么为什么不使用循环缓冲呢? 我还发现了boost循环缓冲。它与deque相比如何? 编辑: ...

15得票1回答
环形缓冲区和循环链表有什么区别?

什么是环形缓冲区和循环链表的区别? 环形缓冲区和循环链表各有什么作用,它们之间互相不能替代吗?

14得票5回答
将循环缓冲区原地移动/对齐/旋转到零位置

我正在使用循环缓冲区将数据推送到列表的两端。完成后,我想要对齐缓冲区,以便列表中的第一个元素位于位置零,并且可以像常规数组一样使用,而无需任何复杂的索引开销。 因此,我的循环 list 具有容量 N,它具有从任意索引 f 开始的 n 个元素。 最快的方法是如何移动/旋转所有元素,使得 ...

14得票1回答
为什么环形缓冲区的大小必须是2的幂?

为什么环形缓冲区的大小必须是2的幂次方?

13得票2回答
如何在没有条件语句的情况下向后迭代循环缓冲区?

使用取余运算符在不使用条件语句的情况下正向迭代循环缓冲区非常容易... iterator = (iterator + 1) % buffer_size; 但是,我想不出如何进行反向操作,即向后迭代。

12得票3回答
在磁盘上实现固定大小的日志文件或循环缓冲区。

我查看了这个问题,但那不是我要找的。 我正在尝试弄清楚如何限制日志文件的大小(比如10MB),并在达到大小后立即执行以下操作之一: 从头开始写入,而不是追加,或者 保持追加,但在此过程中删除开头的内容 并不在意编程语言类型 - 只要实现这个功能就可以 :) 注意:我知道使用滚动...

11得票1回答
在Android上,将视频录制到循环缓冲区中。

我正在寻找最佳方式(如果有的话...)将连续视频捕获到SD卡上的循环缓冲区中,允许用户在事件发生后捕获它们。 标准的视频录制API允许您直接写入文件,当达到限制(由用户设置或SD卡的容量)时,您必须停止并重新启动录制。这会创建一个长达2秒的窗口,在此期间录音未在运行。这是像DailyRoad...