我需要玩一个3000元素的缓冲区FIFO(先进先出)。
首先,我将填满这个缓冲区,直到它满了。之后,当一个新的元素到来时,它将替换缓冲区中最旧的元素。我只想在每次新元素到来时计算缓冲区的总和。
有谁知道如何在不将缓冲区保留在内存中的情况下完成这个任务?
有谁知道如何在不保留缓冲区的情况下完成这个任务?
关联一个额外的数据,称为 sum
与缓冲区。使类型的 sum
大到足以容纳缓冲区中元素的最大可能总和。当缓冲区初始化为空的状态时,在缓冲区中设置 sum
为零。当添加一个新元素 x
到缓冲区。
x
到 sum
.sum
该元素 y
缓冲区中删除的内容,然后再添加 x
到 sum
.那么 sum
将始终包含当前缓冲区中元素的总和。