用c语言写一个静态链表
时间: 2023-03-30 21:01:12 浏览: 68
可以使用结构体和指针来实现静态链表。首先定义一个结构体,包含数据和指向下一个节点的指针。然后定义一个数组来存储这些节点,每个节点的下标就是它的地址。最后,使用指针来操作这些节点,实现链表的功能。
以下是一个简单的静态链表的实现代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
typedef struct Node {
int data;
int next;
} Node;
Node list[MAX_SIZE];
int head = -1;
void init() {
for (int i = ; i < MAX_SIZE; i++) {
list[i].next = -2;
}
}
void add(int data) {
int i = ;
while (list[i].next != -2) {
i = list[i].next;
}
list[i].next = head;
head = i + 1;
list[head - 1].data = data;
}
void print() {
int i = head;
while (i != -1) {
printf("%d ", list[i - 1].data);
i = list[i - 1].next;
}
printf("\n");
}
int main() {
init();
add(1);
add(2);
add(3);
print();
return ;
}
```
这个代码实现了一个简单的静态链表,可以添加数据并打印链表中的所有数据。