标签: data-structures
根据错误处理约定,数据结构应该检查无效操作并进行处理,还是用户应该处理错误? 例如,在stack.pop()中,pop应该检查堆栈是否为空,还是用户应该在调用pop之前检查是否为空?