例如,我的讲师说过,在使用链表进行操作时,不要释放任何内存,并删除指针。此外,他说,在对双向链表进行操作时,应该确保边缘情况是正确的。有没有人可以对此进行扩展?我不确定我完全明白他的意思。
例如,这是我们正在处理的链表类型:
struct Node {
Node *next;
Node *prev;
T datum;
};
Node *first; // points to first Node in list, or 0 if list is empty
Node *last; // points to last Node in list, or 0 if list is empty发布于 2015-12-05 04:45:12
在处理指针时,您总是希望确保delete任何不再使用的new对象。这样就不会有任何内存泄漏了。
边缘条件是,例如,当插入元素时,它是否适用于空列表,当项目将作为第一个元素插入时,作为最后一个元素插入时?通常,在实现insert时,我们对典型元素(即现有列表中间的元素)执行逻辑。但它应该适用于所有情况。我提到的情况可以被认为是边缘条件,并且必须考虑到您想要为列表实现的每个操作。
https://stackoverflow.com/questions/34097032
复制相似问题