定义结点类型,创建链表,遍历链表
时间: 2023-11-19 16:05:49 浏览: 41
节点类型是链表中的元素,每个节点包含数据和指向下一个节点的指针。在C++中,可以通过结构体来定义节点类型,如下所示:
```cpp
struct Node {
int data;
Node* next;
};
```
其中,data用于存储节点中的数据,next是指向下一个节点的指针。
创建链表可以通过动态分配内存来实现,如下所示:
```cpp
Node* head = NULL; // 定义链表头指针
// 创建三个节点并赋值
Node* node1 = new Node;
node1->data = 1;
node1->next = NULL;
Node* node2 = new Node;
node2->data = 2;
node2->next = NULL;
Node* node3 = new Node;
node3->data = 3;
node3->next = NULL;
// 将节点链接起来形成链表
head = node1;
node1->next = node2;
node2->next = node3;
```
遍历链表可以通过循环遍历每个节点来实现,如下所示:
```cpp
Node* current = head; // 从链表头开始遍历
while (current != NULL) {
cout << current->data << " "; // 输出节点数据
current = current->next; // 指向下一个节点
}
```
完整代码如下:
```cpp
#include <iostream>
using namespace std;
// 定义节点类型
struct Node {
int data;
Node* next;
};
int main() {
Node* head = NULL; // 定义链表头指针
// 创建三个节点并赋值
Node* node1 = new Node;
node1->data = 1;
node1->next = NULL;
Node* node2 = new Node;
node2->data = 2;
node2->next = NULL;
Node* node3 = new Node;
node3->data = 3;
node3->next = NULL;
// 将节点链接起来形成链表
head = node1;
node1->next = node2;
node2->next = node3;
// 遍历链表并输出节点数据
Node* current = head;
while (current != NULL) {
cout << current->data << " ";
current = current->next;
}
return 0;
}
```