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

请问,静态链表和动态链表到底有什么区别呢?是初始化的时候分配空间的方式不同?还是别的什么,,静态链表是只读的??谢谢请不要CTRL+C别人已经回答过的答案,谢谢。... 请问,静态链表和动态链表到底有什么区别呢?是初始化的时候分配空间的方式不同?还是别的什么,,静态链表是只读的?? 谢谢
请不要CTRL+C别人已经回答过的答案,谢谢。
展开
 我来答
月半呼
推荐于2017-12-16 · TA获得超过299个赞
知道答主
回答量:11
采纳率:0%
帮助的人:12.9万
展开全部
静态链表是用数组实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配大小。动态链表是用申请内存函数(C是malloc,C++是new)动态申请内存的,所以在链表的长度上没有限制。动态链表因为是动态申请内存的,所以每个节点的物理地址不连续,要通过指针来顺序访问。静态链表在插入、删除时也是通过修改指针域来实现的,与动态链表没有什么分别(动态链表还需要删除内存)。。不知道我的回答是不是解决了你的问题,希望可以帮到你。 (其实用链表一般都是动态链表或者结构数组)
咎晴霞0ht
2018-03-30 · TA获得超过7255个赞
知道小有建树答主
回答量:70
采纳率:100%
帮助的人:9869
展开全部

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

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

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangnasa
2012-09-22 · TA获得超过776个赞
知道小有建树答主
回答量:732
采纳率:100%
帮助的人:637万
展开全部
静态链表就是用数组描述 需要预先分配大地址空间的链表
动态链表就是用指针描述 需要用malloc 和free 动分配地址空间的链表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
abcd12345ecjtu
2012-09-22 · TA获得超过267个赞
知道小有建树答主
回答量:335
采纳率:0%
帮助的人:163万
展开全部
从静态与动态上语义可以看出:静态链表内存大小是规定了的 ,动态链表可以根据类型来申请不同的内存大小
追问
那除此之外还有别的不同吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
松甜恬0Je4ba
2012-09-22 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3380万
展开全部
链表中结点的分配和回收是由系统提供的标准函数malloc和free动态实现的,称之为动态链表。而通过定义一个较大的结构体数组来作为备用结点空间(即存储池),每个结点应至少含有两个域:data域和cursor域;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式