Tag: 循环缓冲区

你如何在C中实现一个循环缓冲区?

我需要一个固定的大小(创build时可以在运行时select,而不是编译时)可以容纳任何types的对象的循环缓冲区,它需要非常高的性能。 我不认为会有资源争夺问题,因为虽然它是在一个多任务embedded式环境中,但它是一个合作的环境,所以任务本身可以pipe理这个问题。 我最初的想法是存储一个简单的结构在缓冲区中将包含types(简单的枚举/定义)和一个无效的指针有效载荷,但我希望这是尽可能快,所以我打开的build议,涉及绕过堆。 其实我很高兴绕过任何标准库的原始速度 – 从我所看到的代码,它没有严格优化的CPU:它看起来像他们只是编译C代码的东西,如strcpy()等,没有手工编码的组件。 任何代码或想法将不胜感激。 所需的操作是: 创build一个特定大小的缓冲区。 放在尾部。 从头开始。 返回计数。 删除一个缓冲区。

高效循环缓冲区?

我想在python中创build一个高效的循环缓冲区 (目标是获取缓冲区中整数值的平均值)。 这是使用列表来收集值的有效方法吗? def add_to_buffer( self, num ): self.mylist.pop( 0 ) self.mylist.append( num ) 什么会更有效率(以及为什么)?

如何创build一个封闭的(循环)ListView?

我想要创build一个自定义的ListView(或类似的),它将performance得像一个封闭的(圆形的): 向下滚动 – 在最后一个项目到达后,第一个开始(..,n-1,n,1,2,..) 向上滚动 – 在第一个项目到达后,最后一个开始(..,2,1,n,n-1,..) 这在概念上听起来很简单,但显然,没有直接的方法来做到这一点。 任何人都可以指出我正确的解决scheme? 谢谢 ! 我已经收到了一个答案(来自波士顿街道上的Android开发人员谷歌组),但它听起来不知何故难看:) – 我通过创build我自己的列表适配器(从BaseAdapter分类)做到了这一点。 我编写我自己的列表适配器,使得它的getCount()方法返回一个HUUUUGE数字。 如果项目'x'被选中,则这个项目对应于适配器位置='adapter.getCount()/ 2 + x' 对于我的适配器的方法getItem(int position),我查看我的数组,备份适配器并获取索引上的项目:(position-getCount()/ 2)%myDataItems.length 你需要做一些更“特殊”的东西,使其一切工作正常,但你明白了。 原则上,它仍然可以达到列表的结尾或开始,但是如果将getCount()设置为大约一百万左右,这很难做到:-)