用c语言链式线性表的建立、插入及删除
时间: 2023-05-20 17:00:45 浏览: 157
C语言链表的建立、插入和删除
4星 · 用户满意度95%
链式线性表是一种基于指针的数据结构,可以动态地增加或删除元素。下面是用 C 语言实现链式线性表的建立、插入和删除的代码示例:
建立链式线性表:
```
typedef struct Node {
int data;
struct Node *next;
} Node;
Node *createList(int n) {
Node *head = NULL, *tail = NULL;
for (int i = 0; i < n; i++) {
Node *node = (Node *)malloc(sizeof(Node));
node->data = i;
node->next = NULL;
if (head == NULL) {
head = node;
tail = node;
} else {
tail->next = node;
tail = node;
}
}
return head;
}
```
插入元素:
```
void insert(Node *head, int index, int data) {
Node *node = (Node *)malloc(sizeof(Node));
node->data = data;
node->next = NULL;
Node *p = head;
for (int i = 0; i < index - 1; i++) {
p = p->next;
}
node->next = p->next;
p->next = node;
}
```
删除元素:
```
void delete(Node *head, int index) {
Node *p = head;
for (int i = 0; i < index - 1; i++) {
p = p->next;
}
Node *q = p->next;
p->next = q->next;
free(q);
}
```
注意:在实际使用中,需要对链式线性表进行初始化和销毁操作,以及对输入参数进行合法性检查。
阅读全文