我遇到了一个问题,一个函数可以从双向环的前面弹出元素。
template <typename Key, typename Info>
void Ring<Key, Info>::pop_front() {
if (!isEmpty()) {
Node* p = any->next;
if (any != NULL) {
p->prev->next = p->next;
p->next->prev = p->prev;
delete p;
}}}
定义函数begin()。 如你所见,它应该完美地工作,但它不是从第一个元素开始的。它弹出第二个。 该怎么办?如何指向第一个节点?
答案 0 :(得分:0)
将Node* p = any->next;
更改为Node* p = any;