黑马程序员技术交流社区

标题: 链表结构的集合类的数据增量问题 [打印本页]

作者: 黑马张健    时间: 2012-5-23 09:41
标题: 链表结构的集合类的数据增量问题
链表结构的集合,他们有没有初始的容量大小,当存储进它们里面的元素的个数超过了容量时,它们是可以增加空间大小吗?增加多少?
如果不能,那么为什么链表结构的集合不行,而数组数据结构的集合可以自动增加空间大小呢?原理是什么?
请高手解惑。

作者: 蒋映辉    时间: 2012-5-23 09:51
链表是没有初始大小的  建议楼主去看看数据结构  链表的原理是通过指针来实现的,每储存一个数据,其实都有两个值,一个是数据的真实值,然后紧跟着下一个数据的地址,读取的时候就根据这个地址找到下一个值,而在没有下一个值的时候,这个指针就为null  如果你想添加值,就把这个null改成下一个值的地址就OK了
作者: 黑马张健    时间: 2012-5-23 09:58
另外在增加一下,链表数据结构,和数组数据结构 分别有什么优点? 希望主要说明一下链表数据结构的优点

作者: 蒋映辉    时间: 2012-5-23 10:17
数组在内存中是连续的地址存放,比如int[] a=new int[10];  你要是输出a的话,得到的是一个地址,这个地址就是a[0]的地址   而括号里边的数字是几,实际上就是把指针往后移动几位。
链表在内存中是不连续排布的,就是通过刚才解答的那种用地址指向的方法连接。使用链表在增加,删除的时候比较快,因为链表增加删除只要改动指针的指向就可以了 但是如果用数组,就要改动你需要改动的位置之后的每一个值
建议楼主去看看《数据结构》这本书  其实这些都是数据结构的基础
作者: 黑马张健    时间: 2012-5-23 10:34
呵呵 ,怎么自己也糊涂了。  链表结构的集合增删比较快。我怎么这个也忘了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2