链表中每个节点所占用的储存空间是连续的,但节点之间在空间上可以连续也可以不连续 对这句话不是很明白

链表中每个节点所占用的储存空间是连续的,但节点之间在空间上可以连续也可以不连续 对这句话不是很明白数据结构

一个链表有很多个节点,各个节点之间通过指针连接起来,所以各个结点之间的位置可以不连续,也就是可以放在不同的位置,所以在空间上可以是不连续的;但对于一个节点,因为节点内部是一个整体,所以就要占用连续的存储空间。

队列是先进先出的栈是先进后出的都是线性表线性表是最基础、最常用的数据结构,线性表中数据元素都是一对一的对应关系。可以不连续,它的存储空间分两段,一段存放数据,另一段存放着地址,链表是通过地址将数据串联起来的数组必须是连续的存储空间。

扩展资料:

一个链表或者多个链表使用独立的存储空间,一般用数组或者类似结构实现,优点是可以自动获得一个附加数据:唯一的编号,并且方便调试;缺点是不能动态的分配内存。当然,另外的在上面加一层块状链表用来分配内存也是可以的,这样就解决了这个问题。

这种方法有时候被叫做数组模拟链表,但是事实上只是用表示在数组中的位置的下标索引代替了指向内存地址的指针,这种下标索引其实也是逻辑上的指针,整个结构还是链表,并不算是被模拟的(但是可以说成是用数组实现的链表)。

参考资料来源:百度百科-链式数据存储

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-18
一个链表有很多个节点,各个节点之间通过指针连接起来,所以各个结点之间的位置可以不连续,也就是可以放在不同的位置,所以在空间上可以是不连续的;但对于一个节点,因为节点内部是一个整体,所以就要占用连续的存储空间。本回答被提问者采纳
第2个回答  2019-09-04
各个节点在链表中都是一个指针变量,也就是一个32位的字节。每一个指针变量都要分配内存,而这些指针变量的内存地址是连续的。每个指针所指向的地址可以是连续的,当然也可以不是连续的,这个顺序链表有着本质的区别。
相似回答