`
he91_com
  • 浏览: 399418 次
文章分类
社区版块
存档分类
最新评论

Java动态单向链表

 
阅读更多
class link
{
class node
{
private String data;
private node next;
public node(String data) //设置节点信息
{
this.data=data;
}
public void add(node newnode) //增加一个add操作
{
if(this.next==null)
{
this.next=newnode;
}
else
{
this.next.add(newnode); //运用递归
}
}
public void print() //打印节点信息
{
System.out.print(this.data+"\t");
if(this.next!=null)
{
this.next.print();
}
}
public boolean search(String data)
{
if(data.equals(this.data))
{
return true;
}
else
{
if(this.next!=null)
{
return this.next.search(data);
}
else
{
return false;
}
}
}
public void delete(node previous,String data)
{
if(data.equals(this.data))
{
previous.next=this.next;
}
else
{
if(this.next!=null)
{
this.next.delete(this, data);
}
}
}
};
private node root;
public void addnode(String data) //增加根节点信息
{
node newnode=new node(data);
if(this.root==null)
{
this.root=newnode;
}
else
{
this.root.add(newnode);
}
}
public void printnode()
{
if(this.root!=null)
{
this.root.print();
}
}
public boolean contains(String name)
{
return this.root.search(name);
}
public void deletenode(String data)
{
if(this.contains(data))
{
if(this.root.data.equals(data))
{
this.root=this.root.next;
}
else
{
this.root.next.delete(root,data);
}
}
}

};
public class test28 {
public static void main(String args[])
{
link l=new link();
l.addnode("A");
l.addnode("B");
l.addnode("C");
l.addnode("D");
l.addnode("E");
l.printnode();
l.deletenode("B");
l.deletenode("C");
System.out.println("");
l.printnode();
System.out.println("");
System.out.println("查询节点:"+l.contains("E"));
}
}
分享到:
评论

相关推荐

    Java 单向链表 插入与删除节点

    这是一个单向链表,它具有插入与删除节点的功能。Entry类实现了链表的各节点。

    Java SE程序 类实现单向链表

    Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现...

    java语言模拟单向链表

    java语言模拟单向链表,JAVA数据结构

    单向链表源代码

    在Java编程中,单向链表通常通过定义一个节点类来实现,每个节点包含数据和指向下一个节点的引用。下面我们将深入探讨单向链表的原理、结构以及如何用Java编写源代码。 单向链表的基本结构: 单向链表由一系列节点...

    04.单向链表以及单向链表的应用.ppt

    04.单向链表以及单向链表的应用.ppt

    java 单链表和双向链表的实现

    本话题主要探讨两种常用的数据结构——单链表和双向链表在Java中的实现,以及相关的操作,如在头部添加节点、在尾部添加节点、遍历、逆置和删除。 首先,我们来理解单链表和双向链表的基本概念。单链表是一种线性...

    Java实现单向链表反转

    Java实现单向链表反转 Java实现单向链表反转是指将单向链表的顺序颠倒,例如原链表为A->B->C->D->E->F,反转后变为F->E->D->C->B->A。这种操作在实际开发中非常有用,例如在数据处理、数据分析等领域。 单向链表...

    JAVA单向链表的实现.pdf

    ### JAVA单向链表的实现知识点详解 #### 一、链表基础概念 在深入了解Java单向链表的具体实现之前,我们首先需要了解链表的基本概念。链表是一种线性数据结构,它由一系列节点组成,每个节点包含两部分:数据域和...

    java 数据结构 链表

    在Java中,链表主要分为两种类型:单向链表和双向链表。单向链表的每个节点只能指向下一个节点,而双向链表的节点则可以同时指向前后两个节点,提供了更灵活的遍历方式。 1. 单向链表: - 单向链表的节点定义:...

    数据结构 单向链表 双向链表 源程序

    在"第一、二章"的压缩文件中,很可能包含了实现单向链表和双向链表操作的C、C++、Java或Python等语言的源代码示例。这些示例程序可能涉及了初始化链表、插入新节点、删除指定节点、查找特定元素、打印链表内容等功能...

    java实现的单向链表和双向链表

    本篇将深入探讨由Java实现的单向链表和双向链表。 首先,我们来理解单向链表。单向链表中的每个节点包含两部分:数据域(存储实际数据)和指针域(存储指向下一个节点的引用)。这种结构使得链表只能向前遍历,不能...

    Java算法(链表操作实例)

    本文将深入探讨Java中链表的操作实例,旨在帮助开发者更好地理解和运用链表来解决实际问题。 首先,我们需要理解链表的基本概念。链表不同于数组,它不连续存储元素,每个元素(称为节点)包含数据以及指向下一个...

    java单向链表代码实现

    在Java编程中,单向链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和指向下一个节点的引用。这个数据结构允许快速插入和删除操作,但不支持随机访问。下面我们将深入探讨Java中单向链表的...

    Java实现单向链表的基本功能详解

    主要给大家介绍了关于Java实现单向链表基本功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    Java版逆序单向链表的实现

    附件是Java版逆序单向链表的实现,一个.java 文件,编译后即可运行,文件绿色安全,仅供学习交流使用,欢迎大家下载学习交流! 代码首先定义了一个ListNode类来表示链表中的节点,然后在reverseList方法中实现了...

    LinkedBlockingQueue + 单向链表基本结构

    总的来说,LinkedBlockingQueue通过单向链表的数据结构,结合阻塞队列的特性,为Java并发编程提供了一种高效的解决方案。了解其内部工作原理有助于我们更好地利用这一工具,优化并发程序的性能和可维护性。在实际...

    单向链表实现的叫号程序

    在这个名为"单向链表实现的叫号程序"的案例中,我们可以通过分析`CallNum.java`文件来理解如何利用单向链表来实现一个简单的财务叫号系统。 首先,单向链表不像数组那样有一个连续的内存空间,它的每个元素(节点)...

    非循环单向链表JAVA实现

    非循环单向链表是一种常见的数据结构,在Java中实现它能帮助我们理解链表的基本操作,如插入、删除和遍历。在这个主题中,我们将深入探讨如何在Java中创建一个非循环单向链表,以及如何通过源码来实现其核心功能。 ...

Global site tag (gtag.js) - Google Analytics