在C语言中,双向链表的遍历主要有以下两种方法:
void traverseForward(Node* head) {
Node* current = head;
while (current != NULL) {
// 处理当前节点
// ...
current = current->next;
}
}
void traverseBackward(Node* tail) {
Node* current = tail;
while (current != NULL) {
// 处理当前节点
// ...
current = current->prev;
}
}
需要注意的是,双向链表相比单向链表多了一个指向上一个节点的指针,因此可以很方便地从尾到头遍历链表。