数据结构-线性表-静态链表
定义
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 10 //静态链表的最大长度
struct Node { //静态链表结构类型的定义
int data; //存储数据元素
int next; //下一个元素的数组下标
};
typedef struct Node SLinkList[MaxSize];
#if 0
//课本上的定义方法
typedef struct { //静态链表结构类型的定义
int data; //存储数据元素
int next; //下一个元素的数组下标
}SLinkList[MaxSize];
#endif
void testSLinkList(){
struct Node a[MaxSize];
//...后续代码
}
#if 0
//课本上的定义方法
void testSLinkList(){
SLinkList a;
//...后续代码
}
#endif
int main(void){
return 0;
}
定义中猜想的验证
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 10 //静态链表的最大长度
struct Node { //静态链表结构类型的定义
int data; //存储数据元素
int next; //下一个元素的数组下标
};
typedef struct { //静态链表结构类型的定义
int data; //存储数据元素
int next; //下一个元素的数组下标
}SLinkList[MaxSize];
void testLinkList(){
struct Node x;
printf("sizeX=%d\n",sizeof(x)); //一个结点8个字节
struct Node a[MaxSize];
printf("sizeA=%d\n",sizeof(a));
SLinkList b;
printf("sizeB=%d\n",sizeof(b));
}
int main(void){
testLinkList();
return 0;
}
基本操作
//用数组的方式实现的链表
//不能随机存取
//容量是固定的
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 10 //静态链表的最大长度
typedef struct { //静态链表结构类型的定义
int data; //存储数据元素
int next; //下一个元素的数组下标
}SLinkList[MaxSize];
//初始化静态链表
//空闲结点的next为-2
//删除的时候也要将next变为-2
//查找到某一个位序的结点
//时间复杂度O(n)
int main(void){
return 0;
}
THE END
0
二维码
海报
数据结构-线性表-静态链表
定义
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 10 //静态链表的最大长度
struct Node { //静态链表结构类型的定义
i……
共有 0 条评论