单链表的输入和插入和删除的代码
时间: 2024-05-08 12:17:22 浏览: 15
以下是单链表的输入、插入和删除代码示例:
定义单链表结构体:
```c
struct ListNode {
int val;
struct ListNode *next;
};
```
输入单链表:
```c
struct ListNode* createList() {
struct ListNode *head, *p, *q;
head = (struct ListNode*)malloc(sizeof(struct ListNode));
head->next = NULL;
p = head;
int n, val;
printf("请输入单链表的长度:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d个节点的值:", i+1);
scanf("%d", &val);
q = (struct ListNode*)malloc(sizeof(struct ListNode));
q->val = val;
q->next = NULL;
p->next = q;
p = p->next;
}
return head->next;
}
```
插入节点:
```c
struct ListNode* insertNode(struct ListNode *head, int index, int val) {
struct ListNode *p, *q;
p = head;
for (int i = 0; i < index - 1; i++) {
if (p == NULL) {
printf("插入位置无效!\n");
return head;
}
p = p->next;
}
q = (struct ListNode*)malloc(sizeof(struct ListNode));
q->val = val;
q->next = p->next;
p->next = q;
return head;
}
```
删除节点:
```c
struct ListNode* deleteNode(struct ListNode *head, int index) {
struct ListNode *p, *q;
p = head;
for (int i = 0; i < index - 1; i++) {
if (p == NULL || p->next == NULL) {
printf("删除位置无效!\n");
return head;
}
p = p->next;
}
q = p->next;
p->next = q->next;
free(q);
return head;
}
```
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)