动态分配空间实现链表结构举一个例子
时间: 2023-03-21 20:00:52 浏览: 61
动态分配空间可以通过使用指针来实现链表结构。链表是由节点组成的,每个节点都包含一个数据元素和一个指向下一个节点的指针。
以下是一个使用动态分配空间实现链表结构的例子:
```
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node* next;
};
struct Node* head = NULL;
void insert(int data) {
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = data;
newNode->next = head;
head = newNode;
}
void display() {
struct Node* ptr = head;
while (ptr != NULL) {
printf("%d ", ptr->data);
ptr = ptr->next;
}
}
int main() {
insert(3);
insert(6);
insert(9);
insert(12);
printf("The linked list is: ");
display();
return 0;
}
```
在这个例子中,我们定义了一个包含两个成员的结构体 `Node`,其中一个成员是 `data`,用来存储数据,另一个成员是 `next`,用来存储指向下一个节点的指针。
我们通过 `insert` 函数向链表中插入数据,这个函数会动态地分配内存来创建新的节点,并将其插入到链表的开头。
在 `display` 函数中,我们遍历整个链表,并输出每个节点中存储的数据。
在 `main` 函数中,我们插入了一些数据,并调用 `display` 函数来展示链表的内容。