顺序数据结构
数据之间的关系可以非为:一对一;一对多;多对一和多对多。对于一般数据结构关系中,一对一的对应关系最多。而一对一的数据结构关系,我们通常定义其为数据的顺序结构或者数据的顺序储存方式。最常见的数据存储结构就是数组和链表。两者最大的区别就在于是连续存储还是非连续存储。
数组
数组是最常见的连续的顺序存储结构,源文件在开辟内存空间时,会开辟一个连续的内存空间进行数据的存储。其数据的排列位置与其下标严格对应。下面以C语言为例,下面定义了一个大小为1000的int数组,当源文件编译运行时,操作系统会在内存中扒下来一片连续的内存空间。
int num[1000]={};
链表
有时候,内存空间可能没有这么大的内存空间,进而导致内存空间开辟失败。为了能够解决这个问题,提出一个非连续的顺序存储结构:链表。链表的实现就是,利用结构将数据与结构体指针进行封装。以浪费内存空间存储的代价实现顺序存储的内存空间不足的问题。下面我们以C语言为例,实现一个链表元素的封装。
struct Dome{
int num;//数据元素
struct Dome *next;//指向下一个数据元素的结构体指针
}