链表的基本操作-创建一个链表
时间: 2023-09-05 18:13:45 浏览: 180
实现链表的基本操作。
创建一个链表,需要以下几个步骤:
1. 定义链表结构体:链表中每个节点包含一个数据域和一个指向下一个节点的指针域。
```
struct ListNode {
int val;
struct ListNode* next;
};
```
2.创建链表头指针:链表头指针指向链表的第一个节点,初始时为空。
```
struct ListNode* head = NULL;
```
3.循环读入节点的值,创建新节点,并将其插入链表中。插入时需要修改前后节点的指针域。
```
int n;
scanf("%d", &n);
for(int i = 0; i < n; i++) {
int val;
scanf("%d", &val);
struct ListNode* node = malloc(sizeof(struct ListNode));
node->val = val;
node->next = NULL;
if(head == NULL) {
head = node;
} else {
struct ListNode* p = head;
while(p->next != NULL) {
p = p->next;
}
p->next = node;
}
}
```
完整的创建链表代码如下:
```
#include <stdio.h>
#include <stdlib.h>
struct ListNode {
int val;
struct ListNode* next;
};
int main() {
struct ListNode* head = NULL;
int n;
scanf("%d", &n);
for(int i = 0; i < n; i++) {
int val;
scanf("%d", &val);
struct ListNode* node = malloc(sizeof(struct ListNode));
node->val = val;
node->next = NULL;
if(head == NULL) {
head = node;
} else {
struct ListNode* p = head;
while(p->next != NULL) {
p = p->next;
}
p->next = node;
}
}
return 0;
}
```
阅读全文