社区
非技术区
帖子详情
使用链表和数组的优缺点各有哪些方面呢?
xiabingsong
2004-12-28 07:38:19
要开发一个图书管理系统,是用链表实现还是数组呢?各有什么优缺点呢?
...全文
1679
11
打赏
收藏
使用链表和数组的优缺点各有哪些方面呢?
要开发一个图书管理系统,是用链表实现还是数组呢?各有什么优缺点呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寻开心
2004-12-29
打赏
举报
回复
链表和数组的本质差异
1 在访问方式上
数组可以随机访问其中的元素
链表则必须是顺序访问,不能随机访问
2 空间的使用上
链表可以随意扩大
数组则不能
不要用mfc或者stl当中的链表或者数组来解释这个东西,那个是具体实践当中的特殊处理,不是链表和数组的本质东西
做管理系统,直接用数据库去最好,省去那些麻烦。
sharkhuang
2004-12-29
打赏
举报
回复
根据自己的数据选择合适的数据结构。数组也可以动态增加STL的vector就是这样。但是数组的插入删除效率不高。链表还有单向双向或者循环的选择
qrlvls
2004-12-28
打赏
举报
回复
单独用数组或链表效率都会非常低
最好使用数组+链表
数组用作索引
链表用作存储体
kobefly
2004-12-28
打赏
举报
回复
链表吧
这样可以动态确定
数组的话
个数就要先知道了
snow810211
2004-12-28
打赏
举报
回复
链表有点复杂:)
数组好理解点,但是我觉得可能楼主作系统,链表好些,应为要增减数量什么的
zhangfjj
2004-12-28
打赏
举报
回复
要根据需要选择相应的存储结构。
若需频繁的执行插入和删除操作,此时,为保证较高的修改效率,应选择链式存储表示
若表中数据相对变动较少,为获取较高的存储效率和存取效率,可以选择顺序存储表示(数组)
zhangfjj
2004-12-28
打赏
举报
回复
顺序存储表示是将数据元素存放于一个连续的存储空间,利用物理相邻来表示逻辑关系,实现顺序存取或(按下标)直接存取。它的存储效率高,存取速度快。但它的空间大小如果是静态分配的,一经定义,在整个程序运行期间不会发生变化,因此,它不易扩充。同时,由于在插入或删除时,为保持原有顺序,平均需要移动一半(或近一半)元素,修改效率不高。
链式存储表示的存储空间一般在程序运行过程中动态分配和释放,且只要存储器中还有空间,就不会产生溢出的问题。同时在插入和删除时不需要保持数据元素的原有物理顺序,只需要保持原有的逻辑顺序就行了,故不必移动元素,只需修改它们的链接指针,修改效率高。但在存取表中的数据元素时,只能循链顺序进行访问,且需要额外的指针,存储效率和访问效率低于顺序存储表示。
dongyuanzhang
2004-12-28
打赏
举报
回复
数组在进行查找,排序操作是很方便;链表不需要连续空间,而且作插入操作方便!
分配空间上也不同,建立过程也不同!
pcboyxhy
2004-12-28
打赏
举报
回复
数组也可以动态分配,
以长度n(具体情况估算大小)为单位,
当x空间不够时,
就重新开辟一个长度为x+n的空间,
然后复制过去
过客猫2022
2004-12-28
打赏
举报
回复
数组是不可变的,链表是可以变长的!如果用动态数组,就另算了.我很少用链表,都是用动态数组!动态数组在容量不够时,需要重新分配内存,而链表不用!但用数组进行排序很方便,对于有序的数组查找,很快!
「已注销」
2004-12-28
打赏
举报
回复
链表可以动态增长,灵活。
数组要提前确定,定位快。
各有优缺点。
数组
和
链表
的区别和
优缺点
总结!
数组
和
链表
是两种基本的数据结构,他们在内存存储上的表现不一样,所以也有各自的特点。
链表
中各结点在内存中的存放位置是任意的。
链表
与
数组
的主要区别 (1)
数组
的元素个数是固定的,而组成
链表
的结点个数可按需要增减; (2)
数组
元素的存诸单元在
数组
定义时分配,
链表
结点的存储单元在程序执行时动态向系统申请: (3)
数组
中的元素顺序关系由元素在
数组
中的位置(即下标)确定,
链表
中的结点顺序关系......
链表
和
数组
的
优缺点
对比
数组
和
链表
比较
数组
优缺点
C/C++直接支持 提供随机访问 在编译时确定大小 插入和删除元素费时
链表
优缺点
运行时确定大小 快速插入和删除元素 不能随机访问 用户必须提供编程支持 删除和插入元素过程 在
数组
中插入元素,必须移动其他元素以腾出空位,然后再插入,插入的元素离
数组
开头越近,要被移动的元素越多。在
链表
中插入节点却非常简单,只需要给两个指针赋值。 在
数组
中删除一个元素同样要移动许多相关元素,但是
链表
删除节点只需要重新设置一个指针并释放被删除节点占用的内存即可。 访问元素 对于
数组
而言,
笔记----
链表
和
数组
有什么区别,在什么时候应该
使用
链表
/
数组
?
链表
和
数组
有什么区别,在什么时候应该
使用
链表
/
数组
?1.
数组
和
链表
的区别2.
链表
和
数组
使用
场景 1.
数组
和
链表
的区别
数组
:
数组
的元素在内存中连续存储的; 它的优点:因为数据是连续存储的,所以内存地址连续,在查找数据的时候效率比较高; 它的缺点:在创建的时候,我们需要确定其大小,申请一块连续的内存空间,一经创建就无法改变。在运行的时候,空间的大小是无法随着需要增加和减少而改变的。 当数据量比较大的时候,有可能会出现越界的情况,数据比较小的时候,又有可能会浪费掉内存空间。在改变数据个数
数组
与
链表
的
优缺点
数组
与
链表
的
优缺点
链表
和
数组
优缺点
一、
数组
的优点 随机访问性强,查找速度快 二、
数组
的缺点 1、对内存的要求高,必须要连续的内存空间 2、插入和删除的效率比较低 3、
数组
大小固定,动态拓展性差,而且可能浪费内存 三、
链表
的优点 1、对内存的要求低 2、大小可以不固定,内存的利用率比较高 3、插入和删除方便 四、
链表
的缺点 查找效率低,不可以随机查找,每次查找必须从头开始 ...
非技术区
15,447
社区成员
58,120
社区内容
发帖
与我相关
我的任务
非技术区
C/C++ 非技术区
复制链接
扫一扫
分享
社区描述
C/C++ 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章