一个数据元素由若干数据项组成
各个元素之间的==关系==
具有==相同性质==的数据元素的集合
程序=数据结构+算法
有穷事件内能执行完
相同输出只会产生相同输出
可以用已有的基本操作实现算法
丢给算法处理的数据
算法处理的结果
逻辑结构
线性表是具有相同数据类型的n个元素的有限序列
存储结构分为顺序表和链表
线性表是一种逻辑结构,表示元素之间一对一的相邻关系。顺序表和链表是指存储结构,两者属于不同层面的概念,因此不能互相混淆
也就是说线性表这一种逻辑结构对应的的存储结构分为顺序表和链表
运算
局限性: 顺序表的内存空间是不可调的 存在不机智性 容易对内存空间产生溢出或者滥用
// 动态分配
//typedef struct{
// int length; // 顺序表的当前长度
// int MaxSize; // 顺序表的最大容量
// int *data; // 指示动态分配数组的指针
//}SqList; // 顺序表的类型定义(动态分配方式)
key: 动态申请和释放内存空间
malloc 申请
free 函数