静态链表
16lz
2021-01-22
静态链表是早期实现链表的数组形式链表,主要是向内存申请一段连续的空间,创建一个固定长度的结构体数组。利用游标next来找到下一元素在数组的位置情况。详细原理看下图!
代码如下:
#include <iostream>#include <stdio.h>#include <stdlib.h>#define MaxSize 10//定义结构体数组的最大长度 /* run this program using the console pauser or add your own getch, system("pause") or input loop *///定义静态链表/*typedef struct { int data;//数据 int next;//指向数组下标的下一个位置 }SLinkList[MaxSize]; *///定义静态链表 struct Node{ int data;//数据 int next;//指向数组下标的下一个位置 };typedef struct Node SLinkList;//创建静态链表 void InitSList(SLinkList *L){ for(int i=0;i<MaxSize;i++){ L[i].data = -1; L[i].next = -2; }}//输出静态链表 void p(SLinkList *L){ for(int i=0;i<MaxSize;i++){ printf("%d\t",L[i].data); }}int main(int argc, char** argv) { SLinkList L[MaxSize];//表示最大长度为MaxSize的结构体数组 /* for(int i=0;i<MaxSize;i++){ L[i].data = -1; L[i].next = -2; } */ printf("Size=%d\n",sizeof(L)); InitSList(L); p(L); return 0;}
更多相关文章
- IDA静态分析
- 静态路由实例
- 数组
- 队列(静态方式)
- 数据结构与算法(2)数组
- 004. 寻找两个正序数组的中位数 | Leetcode题解
- 小程序静态资源如何设置防盗链?
- 我需要从jquery ajax post中撤回数据并将数组分解为单独的输出
- 将字符串数组发布到.net-core mvc