不备案网站怎么做淘宝客,个人网站允许做内部论坛吗,wordpress的关键词插件,坤思特重庆网站建设熊掌号一、链表的组成
链表是由一个一个的节点组成的#xff0c;节点又是一个一个的对象#xff0c; 相邻的节点之间产生联系#xff0c;形成一条链表。
例子#xff1a;假如现在有两个人#xff0c;A和B#xff0c;A保存了B的联系方式#xff0c;这俩人之间就有了联系。 A和…
一、链表的组成
链表是由一个一个的节点组成的节点又是一个一个的对象 相邻的节点之间产生联系形成一条链表。
例子假如现在有两个人A和BA保存了B的联系方式这俩人之间就有了联系。 A和B就好比是节点一个节点保存另一个节点的地址这两个节点之间就产生了联系。
二、链表的重要的两类
一、单向非循环不带头链表的特点
1、单链表的尾节点
例子1一条横线都有结束的标志当这条横线的尾端不再延申这条横线就是结束了。 例子2一个人的手机通讯录中没有保存任何人的联系方式通讯录中显示“空”这个汉字。
这条横线就好比是单链表单链表也应该有结束的标志。 刚才这个人就好比是单链表中的最后一个节点也就是尾节点这个节点没有保存任何一个节点的地址应该显示为null。
2、相邻节点之间的关系
例子现在有一排宝箱第一个宝箱里面放着第二个宝箱的钥匙第二个宝箱里面放着第三个宝箱的钥匙。
宝箱就好比是节点钥匙就好比是对象的地址相邻的节点前面的节点保存后面的节点的地址。
3、如何通过一个引用变量head访问这条链表中的所有节点。
在解释这个问题之前有1个知识需要我们了解 1例子如果家里的人想要联系在外地打拼的年轻人需要存下他们的电话号码或者地址通过电话号码和地址就可以找到他否则是无法是找到的。 年轻人就好比是Java中的对象如果想要找到存放在堆中的对象需要把对象的地址存到引用变量中通过地址就可以找到这个对象。 例子就拿我们刚才宝箱那个例子来说如果我们想要访问每一个宝箱看看里面有什么好东西必须要得到第一个宝箱的钥匙打开第一个宝箱得到第二个宝箱的钥匙打开第二个宝箱得到第三个宝箱的钥匙以此类推。 宝箱就是节点钥匙就是地址。
结合这两个例子和上面说的相邻节点之间的关系我们可以理解 要得到第一个节点的地址才能访问所有节点。 所以将头节点的地址保存到一个引用变量head中通过head成功访问链表中的所有节点
1、产生的问题
例子我一只手只能放一个东西如果想让我去拿另一个东西我需要把目前手上的东西扔了再去拿。 引用变量只能放一个对象的地址如果我直接通过head依次去保存每一个对象的地址访问每一个节点那么访问完之后head里面放的是null第一个节点的地址就得不到了。 所以应该找个“替死鬼”声明一个新的变量将head里面的值拷贝到新的变量中。