写一段c++代码,关于静态链表
时间: 2023-05-15 22:06:02 浏览: 95
非常好的问题!以下是一段关于静态链表的 C 代码:
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100
typedef struct {
int data;
int next;
} Node;
int main() {
Node list[MAXSIZE];
int head, tail, i, j, k;
// 初始化链表
for (i = 0; i < MAXSIZE; i++) {
list[i].data = 0;
list[i].next = i + 1;
}
list[MAXSIZE - 1].next = -1;
head = -1;
tail = MAXSIZE - 1;
// 插入元素
for (i = 0; i < 5; i++) {
j = tail;
tail = list[tail].next;
list[j].data = i;
list[j].next = head;
head = j;
}
// 遍历链表
k = head;
while (k != -1) {
printf("%d ", list[k].data);
k = list[k].next;
}
printf("\n");
return 0;
}
这段代码实现了一个静态链表,使用了一个数组来存储链表节点,每个节点包含一个数据和一个指向下一个节点的指针。在初始化时,将数组中的每个节点都指向下一个节点,最后一个节点指向 -1,表示链表结束。在插入元素时,将新元素插入到链表头部,然后将头指针指向新元素。遍历链表时,从头指针开始,依次访问每个节点的数据,并将指针指向下一个节点,直到链表结束。
相关推荐
![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)