顺序表和链表其实是两个相辅相成,互补的数据结构,因为他们彼此之前都有自己个优势,也有自己的不足,这里我们来了解一下顺序表和链表的区别。这里的链表指的是带头双向循环链表
一.储存空间上
顺序表底层是数组实现的,而链表则是由一个一个的节点连接起来的,这些节点都是通过malloc动态申请的内存空间。他们的组成部分也就表明了两者在储存空间上的不同。
顺序表依靠数组实现,这就表明它在内存空间中一定是连续存储的。
而链表通过malloc申请的节点是随机申请的,它的内存地址可能连续也可能不连续。但是链表在逻辑上是连续的。
二.随机访问
顺序表借助数组实现,而数组中的元素都可以借助下标来快速访问指定的元素,所以顺序表可以实现元素的随机访问。
而对于链表来说,它的基本单位是一个一个的节点,而节点都是一个一个的结构体,里面包括数据域和指针域,数据域就是节点储存的数据,而指针域