我想存储一些值,但一次只能存储三个。如果要存储第四个值,则将删除结构中最旧的值以腾出空间。
例如:
const unsigned int BUFFER = 3; // maximum size
SomeType s(BUFFER);
s.add(1); // s is now 1 --> NULL --> NULL
s.add(3); // s is now 3 --> 1 --> NULL
s.add(6); // s is now 6 --> 3 --> 1
s.add(4); // s is now 4 --> 6 --> 3 (1 was removed)
C++03 中是否有内置数据结构,还是我需要自己制作?
最佳答案
就 C++ 的内置结构而言,您可以使用 std::queue
,尽管您需要自己检查尺寸,因为没有内置方法将其限制为 3。
如果您只是在将项目插入 FIFO 队列时检查队列的大小,这将非常简单。如果队列已经在 size==3
,您调用 pop
函数移除列表顶部的元素,然后push
新元素进入队列。
关于c++ - 什么数据类型的结构具有最大大小且元素是 FIFO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59397917/