用头插法创建单链表pta
时间: 2024-12-11 11:22:03 浏览: 23
头插法(也叫首插法)是在创建单链表时的一种常见操作,它将新的节点插入到链表的头部。以下是使用头插法创建单链表的过程:
1. **定义结构体**:首先,你需要定义一个表示链表节点的数据结构,通常包含一个数据元素(如int类型)和一个指向下一个节点的指针(next)。
```c
struct ListNode {
int val; // 节点值
struct ListNode* next; // 指向下一个节点的指针
};
```
2. **创建新节点**:当你需要添加一个新的节点时,会先创建一个新的ListNode实例,并设置它的值和next指针为NULL,因为初始时链表为空。
```c
struct ListNode* newNode(int data) {
struct ListNode* node = (struct ListNode*)malloc(sizeof(struct ListNode));
node->val = data;
node->next = NULL;
return node;
}
```
3. **插入节点**:然后,在已有链表的头部插入新节点,只需将新节点的next指针指向当前链表的头节点,然后将原头节点的next指针指向新节点。
```c
// 如果链表为空
if (head == NULL) {
head = newNode(data);
} else {
// 非空链表,将新节点作为头节点
newNode->next = head;
head = newNode;
}
```
阅读全文