`
Sharpleo
  • 浏览: 573798 次
  • 性别: Icon_minigender_1
  • 来自: newsk
社区版块
存档分类
最新评论

java数据结构(链表)

阅读更多
/* 
 * 链结点,相当于是车厢 
 */ 
public class Node { 
    //数据域 
    public long data; 
    //指针域 
    public Node next; 
     
    public Node(long value) { 
        this.data = value; 
    } 
     
    /** 
     * 显示方法 
     */ 
    public void display() { 
        System.out.print(data + " "); 
    } 
}



/* 
 * 链表,相当于火车 
 */ 
public class LinkList { 
    //头结点 
    private Node first; 
     
    public LinkList() { 
        first = null; 
    } 
     
    /** 
     * 插入一个结点,在头结点后进行插入 
     */ 
    public void insertFirst(long value) { 
        Node node = new Node(value); 
        node.next = first; 
        first = node; 
    } 
     
    /** 
     * 删除一个结点,在头结点后进行删除 
     */ 
    public Node deleteFirst() { 
        Node tmp = first; 
        first = tmp.next; 
        return tmp; 
    } 
     
    /** 
     * 显示方法 
     */ 
    public void display() { 
        Node current = first; 
        while(current != null) { 
            current.display(); 
            current = current.next; 
        } 
        System.out.println(); 
    } 
     
    /** 
     * 查找方法 
     */ 
    public Node find(long value) { 
        Node current = first; 
        while(current.data != value) { 
            if(current.next == null) { 
                return null; 
            } 
            current = current.next; 
        } 
        return current; 
    } 
     
    /** 
     * 删除方法,根据数据域来进行删除 
     */ 
    public Node delete(long value) { 
        Node current = first; 
        Node previous = first; 
        while(current.data != value) { 
            if(current.next == null) { 
                return null; 
            } 
            previous = current; 
            current = current.next; 
        } 
         
        if(current == first) { 
            first = first.next; 
        } else { 
            previous.next = current.next; 
        } 
        return current; 
         
    } 
}


测试
public class TestLinkList { 
    public static void main(String[] args) { 
        LinkList linkList = new LinkList(); 
        linkList.insertFirst(34); 
        linkList.insertFirst(23); 
        linkList.insertFirst(12); 
        linkList.insertFirst(0); 
        linkList.insertFirst(-1); 
         
//      linkList.display(); 
//       
//      linkList.deleteFirst(); 
//      linkList.display(); 
//       
//      Node node = linkList.find(23); 
//      node.display(); 
         
        Node node1 = linkList.delete(0); 
        node1.display(); 
        System.out.println(); 
        linkList.display(); 
    } 
}
分享到:
评论

相关推荐

    java 数据结构 链表

    链表是一种基础且重要的数据结构,它在计算机科学和编程,尤其是Java中有着广泛的应用。与数组不同,链表中的元素并不在内存中连续存储,而是通过节点间的引用(或称为指针)来连接。每个节点包含两部分:数据域,...

    基于java数据结构链表写的猴子选大王

    《基于Java数据结构链表实现的“猴子选大王”》 在计算机科学中,数据结构是编程的基础,它涉及到如何高效地存储和处理数据。本文将深入探讨一个基于Java数据结构链表实现的经典问题——“猴子选大王”,也称作...

    基于java数据结构链表实验报告.pdf

    Java数据结构链表实验报告 Java数据结构链表实验报告是基于Java语言编写的实验报告,主要研究了链表的实现和操作。链表是一种基本的数据结构,广泛应用于计算机科学和软件开发中。本实验报告涵盖了链表的存储结构、...

    Java数据结构 线性表,链表,哈希表是常用的数据结构

    Java数据结构 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构

    java版数据结构ppt

    Java版数据结构PPT是一个非常有价值的资源,尤其对于那些刚开始接触计算机科学,特别是对Java编程和数据结构感兴趣的初学者来说。这个PPT包含了丰富的信息,旨在帮助学习者深入理解数据结构的基本概念,以及如何在...

    java 数据结构 遍历链表程序

    本篇文章将深入讲解Java中链表数据结构的遍历程序,以及如何通过`LinkListFour.java`这个文件来实现链表的遍历。 首先,链表不同于数组,它不连续存储数据,而是通过节点间的引用关系构成。每个节点包含两部分:...

    JAVA 数据结构链表操作循环链表

    在Java编程中,数据结构是程序设计的基础,链表是一种常用的数据结构,它不依赖于数组的物理位置,而是通过节点间的引用关系进行组织。循环链表是链表的一种变体,它的特点是最后一个节点指向了链表的第一个节点,...

    数据结构链表演示(java swing)

    在本项目中,“数据结构链表演示(java swing)”利用了Java Swing库来创建一个图形用户界面(GUI),直观地展示链表和堆栈的操作。 Java Swing是Java AWT(Abstract Window Toolkit)的一个扩展,提供了丰富的组件...

    数据结构JAVA实现

    在这个名为“数据结构JAVA实现”的压缩包中,我们可以看到作者提供了三种重要的数据结构——链表、有序二叉树和队列的Java代码实现。 首先,让我们详细探讨链表。链表是一种线性数据结构,与数组不同,它不连续存储...

    基于Java实现数据结构链表相关程序.pdf

    基于Java实现数据结构链表相关程序的关键在于定义链表节点以及采取添加节点的方式创建数据结构链表。Java语言通过其对象引用的概念,使得链表节点的实现变得更为简洁和安全。在Java中,每个链表节点通常包含两个部分...

    链表 数据结构 链表

    数据结构 链表

    我自己java数据结构之链表

    总结一下,本主题涵盖了Java中的链表数据结构,包括`LinkedList`和`ArrayList`的实现,以及如何通过`Interface`和`Iterator`进行操作。理解这些概念对于编写高效的Java代码至关重要。通过实践和学习,你可以更好地...

    Java 数据结构链表操作实现代码

    链表是一种重要的数据结构,它不同于数组,不连续存储元素,而是通过节点间的引用关系连接。在Java中,我们可以使用对象来实现链表。链表分为单链表、循环链表和双向链表。 单链表是每个节点包含数据部分和指向下一...

    Java数据结构之简单链表的定义与实现方法示例

    Java数据结构之简单链表的定义与实现方法示例 Java数据结构之简单链表是指一种链式存储结构,通过节点之间的链接来存储数据。这种数据结构的特点是先进后出,即最后插入的数据将被最先删除。 定义 在Java中,简单...

    Java数据结构和算法中文第二版_Java数据结构_

    《Java数据结构和算法中文第二版》是一本深入探讨Java编程中数据结构和算法的书籍。数据结构是计算机科学的基础,它涉及到如何有效地组织和存储数据,以便在各种操作下高效地访问和修改。算法则是解决问题的具体步骤...

    Java数组链表效率-Java数组和链表三种遍历效率对比 数组和链表.pdf

    Java 中的数组和链表是两种常用的数据结构,它们都可以用来存储和操作数据。然而,在实际开发中,选择合适的数据结构和遍历方式对程序的性能和效率有着非常重要的影响。下面我们将对 Java 中数组和链表的三种遍历...

    Java常见数据结构面试题(带答案)

    "Java常见数据结构面试题(带答案)" 以下是对Java常见数据结构面试题的...本篇文章主要介绍了Java常见数据结构面试题,涵盖了栈、队列、链表、线性表、树、算法、数据结构等知识点,希望对广大的程序爱好者有所帮助。

    Java语言编写的数据结构-链表实现

    在编程领域,数据结构是构建高效算法的基础,而链表作为一种基本的数据结构,对于理解和掌握高级编程技巧至关重要。本文将详细探讨如何使用Java语言来实现链表,包括顺序表和单链表、双链表。 首先,我们来看顺序表...

    数据结构(java)实现链表

    数据结构,用Java实现链表 private class Node { private String data; private Node next; public Node(String dataPortioin) { data = dataPortioin; next = null; } public Node(String ...

Global site tag (gtag.js) - Google Analytics