DEV C++ 用插头法建立双链表
时间: 2024-09-28 08:09:40 浏览: 46
在DEV C++中,插桩法通常用于插入新元素到已存在的数据结构中,例如双链表。这里是一个简单的步骤,展示如何使用插桩法向双链表中添加一个新节点:
1. 定义双链表节点结构体:
```cpp
struct Node {
int data;
Node* prev;
Node* next;
Node(int value) : data(value), prev(nullptr), next(nullptr) {}
};
```
2. 插入函数,假设我们要在链表末尾插入:
```cpp
void insertAtEnd(Node** head, int value) {
Node* newNode = new Node(value);
// 检查链表是否为空
if (*head == nullptr) {
*head = newNode;
newNode->prev = newNode;
newNode->next = newNode;
} else {
// 将新节点插入到最后一个节点之后
Node* lastNode = *head;
while (lastNode->next != nullptr) {
lastNode = lastNode->next;
}
lastNode->next = newNode;
newNode->prev = lastNode;
newNode->next = nullptr;
}
}
```
3. 使用示例:
```cpp
int main() {
Node* head = nullptr;
insertAtEnd(&head, 1);
insertAtEnd(&head, 2);
insertAtEnd(&head, 3);
// 打印链表验证插入
Node* temp = head;
while(temp != nullptr) {
cout << temp->data << " ";
temp = temp->next;
}
return 0;
}
```
这将输出 `1 2 3`。
阅读全文