java单向链表基础知识~~求通俗解答
我们还没有开数据结构课程,只是讲了一些java基础的东西,觉得链表这一块比较抽象逻辑比较复杂,。。有没有哪个大神能给一个比较好的理解。。节点什么的,,好复杂...
我们还没有开数据结构课程,只是讲了一些java基础的东西,觉得链表这一块比较抽象逻辑比较复杂,。。有没有哪个大神能给一个比较好的理解。。节点什么的,,好复杂
展开
2个回答
展开全部
话说...通俗解答啊...给你个比喻吧...
自行车都骑过吧...自行车的齿轮用的链子看过吧...
如果你拆开过应该发现其实是一节一节组成的,也就是说这一节一节的单个的组成链子的东西是组成车链的基本元素
然后再对应回去...这个一个个一节的东西就是链表中的一个个节点,需要注意的是,链表中的一个个节点可以是一个个对象,而对象又可以是别的数组或者什么东西.
至于单向链表就是你把那个车链子弄断,然后如果你向着一个方向一直前进移动,总会有尽头,这两个指针就是头指针和终结指针.
然后链表分三种,单向链表,双向链表和循环链表
在单向链表中,你只能从一个节点到下一个节点,因为它只包含一个指向下个节点的指针和一个对象.你可以把节点理解为一个对象,它包含的信息有1个指针(指向下个节点的地址),一个指针的值,就是一个对象.
双向链表是单向链表的加强版,它含有2个指针(比单向链表多一个),一个指向上一个节点的地址,另一个指向下一个节点的地址,所以它能够双向移动读取.
循环链表是双向链表的加强版,双向链表的所有节点是一条线的线性排列,然后你将头节点的上一个节点的指针指向终结节点,然后将终结节点的下一个节点的指针指向头节点,就相当于你将一个断开的车链重新修好了,不过这里的连接是靠指针的指向而已,然后它就成一条线变成了一个圆,然后这就是循环链表了...
还有什么不懂的可以问我
自行车都骑过吧...自行车的齿轮用的链子看过吧...
如果你拆开过应该发现其实是一节一节组成的,也就是说这一节一节的单个的组成链子的东西是组成车链的基本元素
然后再对应回去...这个一个个一节的东西就是链表中的一个个节点,需要注意的是,链表中的一个个节点可以是一个个对象,而对象又可以是别的数组或者什么东西.
至于单向链表就是你把那个车链子弄断,然后如果你向着一个方向一直前进移动,总会有尽头,这两个指针就是头指针和终结指针.
然后链表分三种,单向链表,双向链表和循环链表
在单向链表中,你只能从一个节点到下一个节点,因为它只包含一个指向下个节点的指针和一个对象.你可以把节点理解为一个对象,它包含的信息有1个指针(指向下个节点的地址),一个指针的值,就是一个对象.
双向链表是单向链表的加强版,它含有2个指针(比单向链表多一个),一个指向上一个节点的地址,另一个指向下一个节点的地址,所以它能够双向移动读取.
循环链表是双向链表的加强版,双向链表的所有节点是一条线的线性排列,然后你将头节点的上一个节点的指针指向终结节点,然后将终结节点的下一个节点的指针指向头节点,就相当于你将一个断开的车链重新修好了,不过这里的连接是靠指针的指向而已,然后它就成一条线变成了一个圆,然后这就是循环链表了...
还有什么不懂的可以问我
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询