码迷,mamicode.com
首页 > 编程语言 > 详细

数组集合和链表集合

时间:2018-04-17 23:47:45      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

数组集合:

优点:

1.有序 2.可以进行下标操作 3.添加速度快 缺点: 1.删除,删除第一个,删除最后一个,选择一个位置删除这些都不方便操作 2.插入数据也不方便

例题:比如你想插入88的数据到3的后面,那你后面得到4567就要往后挪位置,所以这种方式就非常麻烦,所以使用链表集合的话就方便一些

image

链表集合:

介绍:就好比是自行车的车链,它的好处就是你可以随便找一个地方增加一个,也可以随便找个地方删除一个,链分为两种,一是单链,二是双链,单链就是你只知道上家,而不知道下家,双链就是你知道上家,上家也知道下家,它是用地址来形成链的关系的,单链就是单引用关系,双链就是双引用关系

image

如下图:就是单链模式的,纸条不知道小吴在哪里,小吴不知道灵猫在哪里,只有上家知道下家,而下家不知道上家,如果中间断了一条引用,那后面的数据就丢失了

image

如下图:是双链模式的,下家知道上家,上家也知道下家,他们都是引用关系,互相引用着

image

它的用处就是可以刚好伱补数组集合的缺点,比方说你想在灵猫后面加个兔斯基,就很容易加,它没有任何变动,比方要删除灵猫,直接大黑牛不指向它,绕道指向兔斯基就行了

image

例题:下图是添加方法

image

添加方法的原理:首先申请两个属性,tou和wei都是null,如果你想存A1进去的话,写个if判断一下如果是空的下面就new出一个数组长度为3的,然后存A1进去,那样头跟尾都指向A1了,当申请A2的时候那就引用A1的整个数组,当申请A3的时候第一格指向A2整个数组,而A2的最后一格指向新的数组,然后把A2指向wei的线路断开,指向新的数组,这样的话就形成了双链式的集合内存

image

如下图方法:就是向前添加方法,还有向后添加,向后添加直接传进e就行了,因为前面写的那个方法就是向后添加的

image

如下图:是删除前面数据的方法

image

如下图:是删除后面数据的方法

image

数组集合和链表集合

标签:

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
凯哥学堂
加入时间:2016-10-07
  关注此人  发短消息
java学习视频下载:www.kaige123.com
凯哥学堂”关注的人------(0
凯哥学堂”的粉丝们------(1
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!