1、对线性表的认识
刚接触数据结构,了解了线性表的顺序存储结构的一些概念和功能,直观上感觉就是类似于Python
中的列表(list)
!因为是ADT
即抽象数据类型,因此一些基本的功能需要我们自己去定义实现!在对这些功能进行复盘的过程中,对于结构体的定义以及几种传参形式还不是很熟悉,于是借此review
一下!
2、线性表初始化的操作
关于其初始化,基本上就是两个操作:
- 设置表长是0,暂为空表
- 分配物理内存空间
3、线性表初始化的实现
只有主函数+普通的结构体变量+普通变量
说明:malloc
函数的声明为void *malloc(size_t size)
,因此可以看出返回的是一个指针类型,因此普通类型的变量用不了malloc
函数,这边自然就不能动态的分配内存空间了
# include <stdio.h>
# include <stdlib.h>
// 定义普通结构体类型,修改数组的数据类型
typedef int ElemType;
// 设置数组的最大元素个数
# define MaxSize 100
typedef struct {
ElemType datas[MaxSize];
int length;
}SqList;
int main() {
// 初始化结构体
SqList list;
// 线性表初始化
list.length = 0;
printf("当前线性表的表长是:%d",list.length);
return