A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马张健 中级黑马   /  2012-5-23 09:41  /  1335 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

链表结构的集合,他们有没有初始的容量大小,当存储进它们里面的元素的个数超过了容量时,它们是可以增加空间大小吗?增加多少?
如果不能,那么为什么链表结构的集合不行,而数组数据结构的集合可以自动增加空间大小呢?原理是什么?
请高手解惑。

4 个回复

倒序浏览
链表是没有初始大小的  建议楼主去看看数据结构  链表的原理是通过指针来实现的,每储存一个数据,其实都有两个值,一个是数据的真实值,然后紧跟着下一个数据的地址,读取的时候就根据这个地址找到下一个值,而在没有下一个值的时候,这个指针就为null  如果你想添加值,就把这个null改成下一个值的地址就OK了
回复 使用道具 举报
另外在增加一下,链表数据结构,和数组数据结构 分别有什么优点? 希望主要说明一下链表数据结构的优点
回复 使用道具 举报
数组在内存中是连续的地址存放,比如int[] a=new int[10];  你要是输出a的话,得到的是一个地址,这个地址就是a[0]的地址   而括号里边的数字是几,实际上就是把指针往后移动几位。
链表在内存中是不连续排布的,就是通过刚才解答的那种用地址指向的方法连接。使用链表在增加,删除的时候比较快,因为链表增加删除只要改动指针的指向就可以了 但是如果用数组,就要改动你需要改动的位置之后的每一个值
建议楼主去看看《数据结构》这本书  其实这些都是数据结构的基础

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
呵呵 ,怎么自己也糊涂了。  链表结构的集合增删比较快。我怎么这个也忘了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马