c语言进单链表的插入,删除,输出
时间: 2023-05-19 19:03:36 浏览: 96
C语言链表的建立、插入和删除
4星 · 用户满意度95%
C语言中,单链表的插入、删除和输出操作都是基本的链表操作。以下是示例代码:
单链表的定义:
```c
typedef struct node {
int data;
struct node *next;
} Node, *LinkList;
```
单链表的插入操作:
```c
void insert(LinkList *L, int data, int pos) {
Node *p, *q;
int i = 0;
p = *L;
while (p && i < pos - 1) {
p = p->next;
i++;
}
if (!p || i > pos - 1) {
printf("插入位置错误\n");
return;
}
q = (Node *)malloc(sizeof(Node));
q->data = data;
q->next = p->next;
p->next = q;
}
```
单链表的删除操作:
```c
void del(LinkList *L, int pos) {
Node *p, *q;
int i = 0;
p = *L;
while (p->next && i < pos - 1) {
p = p->next;
i++;
}
if (!p->next || i > pos - 1) {
printf("删除位置错误\n");
return;
}
q = p->next;
p->next = q->next;
free(q);
}
```
单链表的输出操作:
```c
void print(LinkList L) {
Node *p;
p = L->next;
while (p) {
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
```
请注意,这只是单链表的基本操作,还有很多其他的链表操作,如双向链表、循环链表等。
阅读全文