那么线性表的顺序存储结构和线性表的链式存储结构的区别是什么呢?
线性表的顺序存储结构的特点
数组就是一个很典型的例子:它的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中的任意一个元素,它的存储位置可用一个简单、直观的公式来表示。然而,从另一方面,这个特点也铸成了这种存储结构的弱点:在插入和删除操作时,需要移动大量的元素。比如:我们要在数组中插入或者删除一个元素,这个位置后面的元素全部都要依次前移或者后移。
线性表的链式存储结构的特点
链式存储结构由于它不要求逻辑上相邻的元素在物理位置上也相邻,它通过指针来让不同的物理位置的元素变的逻辑上相邻。所以它的没有顺序存储结构所具有的缺点(每次插入或者删除的时候都要移动大量的元素)。它通过元素之间的指针来相互找到对方。但是这样也带来了一个问题,那就是它失去了顺序表的随机存取的优点。每次查找都需要通过指针索引来找。比如我们的链表。