java数据结构-普通链表实现

package com.node;

/** * @auther 付强 * @date 2020/2/14 - 9:20 *///一个节点    //普通链表public class Node {    //节点内容    int data;    //下一个节点    Node next;    public Node(int data){        this.data=data;    }    //为节点追加节点    public Node append(Node node){        //当前节点        Node currentNode=this;        //循环向后找        while (true){            //取出下一个节点            Node nextNode=currentNode.next;            //如果下一个节点为null,当前的节点已经是最后的节点了            if(nextNode==null){                break;            }            //赋给当前节点            currentNode=nextNode;        }        //把需要追回的几点找到当前节点的下一个节点        currentNode.next=node;        return this;    }    //插入一个节点追加为找的当前节点的下一个节点    public void after(Node node){        //取出下一个节点作为下下个节点        Node nextNext=next;        //把新节点作为当前节点的下一个节点        this.next=node;        //把下下个节点设置为新节点的下一个节点        node.next=nextNext;

    }    //显示所有节点信息    public void show(){        Node currentNode=this;        while (true){            System.out.print(currentNode.data+" ");            //取出下一个节点            currentNode=currentNode.next;            //如果是最后一个节点            if(currentNode==null){                break;            }        }        System.out.println();    }    //删除下一个节点    public void removeNext(){        //先取出下下个节点        Node next = this.next.next;        //把下下个节点设置为当前节点的下一个节点        this.next=next;    }

    //获取下一个节点    public Node next(){        return this.next;    }    //获取节点中的数据    public int getData(){        return this.data;    }    //当前节点是否为最后一个节点    public boolean isLast(){        return next==null;    }}

原文地址:https://www.cnblogs.com/fuqiang-java/p/12309165.html

时间: 2024-11-07 18:50:51

java数据结构-普通链表实现的相关文章

java数据结构之链表(java核心卷Ⅰ读书笔记)

1.链表 数组和ArrayList的一个重大缺陷就是:从中间位置删除一个元素要付出很大的代价,因为在这个元素删除之后,所有的元素都要向前端移动,在中间的某个位置插入一个元素也是这个原因. (小感悟:sun-zheng说了一句,每天在那安静地写代码,才是最轻松的活,不用这跑那跑,不用费太多的口舌,每天吹着空调,外面就是建筑地,别人风吹日赛,真的写代码是一件最轻松的事情) 我们在数据结构这门课中,在链表中添加或者删除某个元素时候,绕来如去的指针可能已经给人留下了极坏的印象,那么Java的集合类库提供

Java数据结构之链表的原理及LinkedList的部分源码剖析

一.为什么要学习数据结构? 做为一名程序员,不管你是用什么编程语言,数据结构是取底层的东西.就相当于盖楼的地基一样,地基做不好,上边再好也没有用. 在高级语言中,一般会对这些基础的数据结构进行封装,我们学要学习这些基础的东西吗? 当然是的,只有知道这些基础的东西,我们才能更好地使用语言封装好的api.举个最简单的例子,在Java中,List的实现类有ArrayList,LinkedList,Vector,你知道在什么情况下用哪个效率最高吗?只有知道其底层源才能更好地利用. 如何学习数据结构? 可

Java数据结构之链表

---恢复内容开始--- 概述 数组和链表都是最基础的线性数据结构,可以用来实现栈,队列等非线性,有特定应用场景的数据结构,我们发现数组作为数据存储结构有很很多缺陷,在无序数组中搜索效率低,在有序数组中插入效率又很低,无论哪种情况删除操作效率都很低:而且数组一旦创建,大小不可更改. 本文我们介绍一种新的数据储存结构,链表,除非是要频繁通过下标访问数据,否则在很多场合都可以用链表替换数组: 1链表组成结构 链表通常由一连串节点组成,每个节点包含该节点的数据和指向上一节点或者下一节点的引用(链接)

Java数据结构——单链表

一.单链表的概念 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素.这组存储单元可以是连续的,也可以是不连续的. 存储单元由两部分组成,数据源和指针,数据源放数据,指针指向下个存储单元. 二.单链表的结构 采用Node实体类类标识,其中data为存储的数据,next为下一个结点的指针. //链表的实体类 class Node{ public int data; public Node next; public Node(int data) { this.data =

Java数据结构——用链表实现栈

//================================================= // File Name : LinkStack_demo //------------------------------------------------------------------------------ // Author : Common //类名:Link_long //属性: //方法: class Link_long{ //链节点类 public long dData

Java数据结构和算法之链表

三.链表 链结点 在链表中,每个数据项都被包含在'点"中,一个点是某个类的对象,这个类可认叫做LINK.因为一个链表中有许多类似的链结点,所以有必要用一个不同于链表的类来表达链结点.每个LINK对象中都包含一个对下一个点引用的字段(通常叫做next)但是本身的对象中有一个字段指向对第一个链结点的引用. 单链表 用一组地址任意的存储单元存放线性表中的数据元素. 以元素(数据元素的映象)  + 指针(指示后继元素存储位置)  = 结点(表示数据元素 或 数据元素的映象) 以"结点的序列&q

java数据结构与算法之顺序表与链表深入分析

转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/52953190 出自[zejian的博客] 关联文章: java数据结构与算法之顺序表与链表设计与实现分析 java数据结构与算法之双链表设计与实现 ??数据结构与算法这门学科虽然在大学期间就已学习过了,但是到现在确实也忘了不少,因此最近又重新看了本书-<数据结构与算法分析>加上之前看的<java数据结构>也算是对数据结构的进一步深入学习了,于是也就打算

java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制)

转载请注明出处(请尊重原创!谢谢~): http://blog.csdn.net/javazejian/article/details/53073995 出自[zejian的博客] 关联文章: java数据结构与算法之顺序表与链表设计与实现分析 java数据结构与算法之双链表设计与实现 java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制) ??这篇是数据结构与算法的第3篇,通过前两篇的介绍,对应顺序表和链表已有

java数据结构与算法之双链表设计与实现

转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/53047590 出自[zejian的博客] 关联文章: 关联文章: java数据结构与算法之顺序表与链表设计与实现分析 java数据结构与算法之双链表设计与实现 java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制) ??上一篇文章分析顺序表和单链表,本篇就接着上篇继续聊链表,在单链表