前言:当在计算机存储多项数据的时候,数组和链表是最基本的形式,但是他们又分别适用于不同的情形下。
定义:
数组:所谓数组,是有序的元素序列。如将有限个类型相同的变量的集合命名,那么这个名称就是数组名。
链表:所谓链表,是不连续的元素链条。链表由结点组成,每个结点包含结点值以及指向其他结点的指针。
利用数组存储数据的流程以及问题:
数组是一个连续的有序空间,类似于一连串的小房间,元素按照顺序一次存放在这些小房间当中,当有元素插入的时候,需要挪出该位置的元素,将该位置原来的元素向后一个房间挪,那么后面的房间的元素也依次向后移动。由此可以看出,虽然有数组存储的数据连续有序,查询的时候通过索引可以快速定位到该元素,查询效率高,但由此带来两个问题:
1.每一次插入元素,势必要大动干戈。
2.数组存储要划分足够的空间,否则多次插入后,房间不够,多出来的元素会溢出。
由此便生出了链表。
链表的特性:
链表是由结点组成,每个结点有元素和指针,指针当中存放着下一个结点的地址。根据这样的原理,插入数据的时候,在内存中划一片空间,将该空间的地址赋予该元素对应的上一个结点,再将下一个结点的