c++设计一个双链表并输出
时间: 2024-10-07 22:04:15 浏览: 33
在C++中,我们可以设计一个简单的双向链表(Doubly Linked List),它包含了节点类Node和链表类List。以下是基本的设计:
```cpp
// 定义节点类 Node
class Node {
public:
int data;
Node* prev;
Node* next;
// 构造函数
Node(int value) : data(value), prev(nullptr), next(nullptr) {}
};
// 链表类 List
class LinkedList {
private:
Node* head; // 链表头指针
Node* tail; // 链表尾指针
public:
// 构造函数
LinkedList() : head(nullptr), tail(nullptr) {}
// 添加节点到链表尾部
void append(int value) {
if (!head) {
head = new Node(value);
tail = head;
} else {
Node* newNode = new Node(value);
newNode->prev = tail;
tail->next = newNode;
tail = newNode;
}
}
// 输出链表的所有元素
void printList() {
Node* temp = head;
while (temp != nullptr) {
std::cout << temp->data << " ";
temp = temp->next;
}
std::cout << std::endl;
}
};
int main() {
LinkedList list;
list.append(1);
list.append(2);
list.append(3);
// 打印链表
list.printList();
return 0;
}
```
在这个例子中,我们首先创建了`Node`类表示链表的节点,包含数据、前驱和后继指针。然后在`LinkedList`类里定义了添加节点和打印列表的操作。
在`main`函数中,我们实例化了一个链表,并添加了一些值,最后通过`printList`方法输出整个链表。
阅读全文