我有一个恒定大小的数组x(通常大约100-200个条目),并且希望将常数较小的数组y(通常在2-10个条目之间)添加到头部,而在最后去除相同的大小。例如:添加元素到数组的头部,同时从尾部删除
缓冲液: X = [6 5 4 3 2 1]
新阵列在前面加: Y = [8 7]
所得缓冲液: X = [8 7 6 5 4 3]
等等...
注:我需要使用一个常规的C阵列和需要能够访问整个阵列,不仅头部或尾部。该数组非常小,但该函数经常被调用,所以我正在寻找一种不需要任何过多内存任务的解决方案。数组x和y在每一步中总是具有相同的大小。
这是一个缓冲区,循环/环形缓冲区,队列还是FIFO?我真的不知道这个应用程序的正确搜索词是什么。
语言为C.
听起来像你描述的循环缓冲区。搜索了! – Brian
与其移动大量数据,不如使用环形缓冲区并覆盖过时的元素。 –
[队列使用数组]可能重复(http://stackoverflow.com/questions/25346192/queue-using-arrays) – djechlin