在单链表的尾部插入结点建立单链表
时间: 2024-03-23 17:17:48 浏览: 58
单链表是由一系列的结点(Node)构成的,每个结点包含两部分,一部分是存放数据的数据域(Data),另一部分是指向下一个结点的指针域(Next)。
在单链表的尾部插入结点可以分为以下几个步骤:
1. 创建新结点,将数据存放在新结点的数据域中。
2. 找到链表的最后一个结点,即指针域为 NULL 的结点。
3. 将最后一个结点的指针域指向新结点。
4. 将新结点的指针域置为 NULL,表示新结点为链表的最后一个结点。
示例代码如下:
```c++
#include <iostream>
using namespace std;
// 定义链表结点
struct Node {
int data;
Node* next;
};
// 在链表尾部插入结点
void insertAtEnd(Node* &head, int data) {
// 创建新结点
Node* newNode = new Node;
newNode->data = data;
newNode->next = NULL;
if (head == NULL) { // 如果链表为空,新结点为头结点
head = newNode;
} else {
Node* cur = head;
while (cur->next != NULL) { // 找到最后一个结点
cur = cur->next;
}
cur->next = newNode; // 将最后一个结点的指针域指向新结点
}
}
// 输出链表
void printList(Node* head) {
Node* cur = head;
while (cur != NULL) {
cout << cur->data << " ";
cur = cur->next;
}
cout << endl;
}
int main() {
Node* head = NULL; // 头指针初始化为 NULL
insertAtEnd(head, 1);
insertAtEnd(head, 2);
insertAtEnd(head, 3);
insertAtEnd(head, 4);
printList(head); // 输出链表:1 2 3 4
return 0;
}
```
阅读全文