静态链表和动态链表的区别

请问,静态链表和动态链表到底有什么区别呢?是初始化的时候分配空间的方式不同?还是别的什么,,静态链表是只读的?? 谢谢
请不要CTRL+C别人已经回答过的答案,谢谢。

静态链表是用数组实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配大小。动态链表是用申请内存函数(C是malloc,C++是new)动态申请内存的,所以在链表的长度上没有限制。动态链表因为是动态申请内存的,所以每个节点的物理地址不连续,要通过指针来顺序访问。静态链表在插入、删除时也是通过修改指针域来实现的,与动态链表没有什么分别(动态链表还需要删除内存)。。不知道我的回答是不是解决了你的问题,希望可以帮到你。 (其实用链表一般都是动态链表或者结构数组)
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-03-30

静态链表和动态链表的区别:

静态链表和动态链表是线性表链式存储结构的两种不同的表示方式。

1、静态链表是用类似于数组方法实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配地址空间大小。所以静态链表的初始长度一般是固定的,在做插入和删除操作时不需要移动元素,仅需修改指针。

2、动态链表是用内存申请函数(malloc/new)动态申请内存的,所以在链表的长度上没有限制。动态链表因为是动态申请内存的,所以每个节点的物理地址不连续,要通过指针来顺序访问。

本回答被网友采纳
第2个回答  2012-09-22
静态链表就是用数组描述 需要预先分配大地址空间的链表
动态链表就是用指针描述 需要用malloc 和free 动分配地址空间的链表
第3个回答  2012-09-22
从静态与动态上语义可以看出:静态链表内存大小是规定了的 ,动态链表可以根据类型来申请不同的内存大小追问

那除此之外还有别的不同吗?

第4个回答  2012-09-22
链表中结点的分配和回收是由系统提供的标准函数malloc和free动态实现的,称之为动态链表。而通过定义一个较大的结构体数组来作为备用结点空间(即存储池),每个结点应至少含有两个域:data域和cursor域;

静态链表和动态链表的区别
静态链表和动态链表是线性表链式存储结构的两种不同的表示方式。 1、静态链表是用类似于数组方法实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配地址空间大小。所以静态链表的初始长度一般是固定的,在做插入和删除操作时不需要移动元素,仅需修改指针。 2、动态链表是用内存申请函数(malloc\/new)动态申...

静态单链表和动态单链表有什么区别?
静态链表: 所有结点都是在程序中定义,不是临时开辟的,也不能用完后释放。动态链表: 在需要时才开辟一个结点的存储单元。静态链表内存大小是规定了的 动态链表可以根据类型来申请不同的内存大小

动态链表和静态链表
方式一:链表通常可以使用 结构体+指针 来实现[ 动态链表 ]这是第一种实现方式,但是这种方式有一些弊端,比如链表添加节点需要 new 一个新的 Node ,new是非常慢的过程,还消耗内存资源。算法题中链表的大小一般是100万级别,单单new出100万个节点就已经会超时了。方式二:数组模拟链表[ 静态链...

什么叫静态链表、动态链表
首先介绍一下链表,链表是一种包括了数据域和指针域的数据储存方式,在链表中,如果对于链表的操作只限于查找的操作方式的链表,而动态链表是指在操作中包括了开辟新内存地址、插入、删除等动态过程的链表。

静态链表优点
静态链表作为一种存储结构,其特点在于能够预先分配一定大小的空间,相较于动态链表在插入和删除操作中无需进行元素移动,仅需修改指针,从而保留了链式存储结构的主要优点。具体到一个实例中,假设静态链表S存储线性表(a,b,c,d,k,f,g,h,i),Maxsize为11。在要于第四个元素后插入元素e时,...

静态链表和动态链表的区别
静态链表每个地址是挨着的,动态链表地址全部是随机的

静态链表与动态链表相比,其缺点是( )。 【北京理工大学2006九、5(1...
【答案】:B 静态链表首先要定义一个一维数组空间,每个数组元素有两个分量,一是数据元素的值,二是指针。指针指向下一个元素在数组中的位置(下标),插入和删除时只需修改指针,不移动数据。不能随机存取。若定义数组太大,有可能浪费较多存储空间。

静态链表的特点
静态链表这种存储结构,仍需要预先分配一个较大的空间,但在作为线性表的插入和删除操作时不需移动元素,仅需修改指针,故仍具有链式存储结构的主要优点。假如有如上的静态链表S中存储着线性表(a,b,c,d,f,g,h,i),Maxsize=11,如图所示,要在第四个元素后插入元素e,方法是:先在当前表...

链表与动态数组比,还有什么优点。平时有什么情况下可以用链表,可以用...
链表和动态数组相比较,优点在于插入删除时不需要移动元素 平时只要是元素个数变动较大,频繁地插入删除操作时,使用链表 数组也可以用来实现链表,这个通称静态链表或者仿真指针

初学者,如何理解链表,为什么要引入链表
上面的一切都证明使用数组需要注意的东西真的很多很多,这样一来,我们就开始说说链表,链表也是一种数据结构,它弥补了数组带来的诸多不便,让我们可以任意为一些数据进行空间的分配,根据需要进行内存单元的开辟。当然对于链表而言,分为静态链表和动态链表,根据处理数据的方向又分为单向链表和双向链表。提到...

相似回答