基础知识-数组与链表
数组
数组是被操作系统分配的一个内存块,用来保存数组的元素。通过使用特定元素的索引作为数组下标,可以在常数时间内访问数组元素。
数组的优点
简单且易用
访问元素快(常数时间)
数组的缺点
大小固定:数组的大小是静态的(要在使用前指定数组的大小)
分配一个块:数组初始化分配空间时,有时不可能分配能存储整个数组的内存(如果数组的大小太大)
基于位置的插入操作实现复杂
链表
链表是一种用于存储数据集合的数据结构。链表中相邻连续元素之间通过指针链接,最后一个元素的后继指针的值为NULL。
链表的优点
链表可以在常数时间拓展
在程序执行过程中,链表的大小可以增长或减小
链表的空间能够按需分配
没有内存空间的浪费
链表的缺点
链表的主要缺点在于访问单个元素的时间开销问题
存储空间的离散性降低了元素的存储效率
链表中的指针需要额外的内存开销
物理实现


补充-7.1
顺序表的实现就是用数组完成的,优势就在于访问数据的时候直接根据下标就可以快速寻找,而链表不行,只能回归表头再顺序执行,消耗的时间比较长。但是再增删数据的情况下,数组就明显不如链表,数组必须移动增删的数据后面的数据,而链表只需要把数据域后面的指针改一下指向的方向就可以了。