目录
一、数据结构的介绍
1、数据结构
相互之间具有一定联系的数据元素的集合。数据元素之间的关系称为逻辑结构。常见的四种基本逻辑结构:
1)集合:数据元素除了同属于一个集合外,没有其他关系。
2)线性结构:数据元素之间存在一对一的关系。电话簿
3)树形结构:数据元素之间存在一对多的关系。磁盘的文件系统
4)网状结构:数据元素之间存在多对多的关系。交通网络
2、数据结构的存储方式
根据数据元素之间的关系可以分为顺序存储结构和链式存储结构。
顺序存储结构:用元素之间的相对位置来表示数据元素之间的关系。存储地址是连续的。
链式存储结构:数据元素内存储另外一个数据元素的地址。用该地址表示数据元素之间的关系。存储地址是不连续的。
二、内存的动态开辟和释放
1、内存的动态开辟
函数原型:void * malloc(size_t size);
函数作用:分配size个字节的内存空间,并返回所分配内存的指针。
函数形参:size_t为自定义类型,unsigned int;
size为所需要分配的内存空间的大小。
函数返回值:分配成功返回所分配的内存空间的首地址,
不成功返回NULL。
2、内存的动态释放
函数原型:void free(void *block);
函数作用:释放程序动态申请的内存空间,
以便能提高程序对内存的利用率。
函数参数:block为所需要释放的内存空间的首地址。
三、链表的创建
习惯称链表的数据元素为节点。一个节点存放下一个节点的地址。
每个节点分为数据域,指针域。
1、链表头的创建
#include <stdi