c语言尾插法创建链表
时间: 2024-10-08 07:20:55 浏览: 45
C语言尾插法建立链表并正序输出建立正序链表.zip
C语言中,尾插法是一种用于动态添加新元素到链表尾部的高效算法。这种方法通常通过创建一个新的节点并将其链接到当前链表的最后一个节点之后来完成。以下是基本步骤:
1. 创建一个新节点:首先,你需要定义一个结构体表示链表节点,包含数据域`data`和指向下一个节点的指针`next`。
```c
typedef struct Node {
int data;
struct Node* next;
} Node;
```
2. 初始化链表:如果链表为空,`head`应指向`NULL`。
3. 当需要插入新元素时:
- 创建一个新节点,并将要插入的数据赋值给`data`字段。
- 检查链表是否为空,如果是,则`new_node->next = head`,然后`head`指向新节点。
- 如果链表不为空,遍历到最后一个节点,即找到`current->next`等于`NULL`的那个节点,然后设置`current->next = new_node`。
```c
Node* tail = head; // 初始化tail为头节点
if (head == NULL) {
new_node->next = head;
head = new_node;
} else {
while (tail->next != NULL) {
tail = tail->next;
}
tail->next = new_node;
}
```
阅读全文