我正在用C ++实现一个链表,我正在尝试决定哪个更好:包括类中的结束节点(从而增加它的大小)或不包括它(从而减少它,但也增加了添加的时间结束和诸如此类的东西)。
我的想法是,由于与现在常见的标准4-8 GB RAM相比,Node对象相对较小,因此节省时间的额外空间非常值得。
但我想知道是否有人可以告诉我,如果我错了,或者你出于某种原因决定与其中一个或另一个实例。
答案 0 :(得分:0)
哪一个更好完全取决于您的用例。有些用例不包括end
,只支持单一方向的迭代(我们有std::forward_list
),并且有用于获取额外内存和创建双向链表的用例(为此我们有std::list
)。
没有一个真正的“更好”的容器选项。这取决于您的程序需要执行哪些操作。每个容器都有自己的利基。
std::vector
除外。它太棒了。