Java数据结构之链表

Posted sharing-java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java数据结构之链表相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

概述

  数组和链表都是最基础的线性数据结构,可以用来实现栈,队列等非线性,有特定应用场景的数据结构,我们发现数组作为数据存储结构有很很多缺陷,在无序数组中搜索效率低,在有序数组中插入效率又很低,无论哪种情况删除操作效率都很低;而且数组一旦创建,大小不可更改。

  本文我们介绍一种新的数据储存结构,链表,除非是要频繁通过下标访问数据,否则在很多场合都可以用链表替换数组;

1链表组成结构

  链表通常由一连串节点组成,每个节点包含该节点的数据和指向上一节点或者下一节点的引用(链接)

2 单向链表

  单向链表是最简单的链表,单链表节点包含两部分内容,一是保存某些数据信息的对象,另一个是存储下一个节点的地址,最后一个节点存储的地址是指向空值;

  单向链表只可向一个方向遍历,一般查找一个节点的时候需要从第一个节点开始每次访问下一个节点,一直访问到需要的位置。而插入一个节点,对于单向链表,我们只提供在链表头插入,只需要将当前插入的节点设置为头节点,next指向原头节点即可。删除一个节点,我们将该节点的上一个节点的next指向该节点的下一个节点。

 

                                                                                              技术图片

                                                                         技术图片

                                                                                   技术图片

 

以上是关于Java数据结构之链表的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法(Java)之链表

Java数据结构线性表之链表

Java数据结构线性表之链表

Java数据结构线性表之链表

Java数据结构之链表

JAVA数据结构与算法之链表