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

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数据结构

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

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

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

    操作包括: 1. 在头部添加结点 2. 在尾部添加结点 3. 遍历 4. 逆置 5. 删除

    java单向链表代码实现

    java单向链表代码实现

    单向链表源代码

    培训班老师自己写的单向链表,代码非常全,也很好理解,可执行。

    Java实现单向链表反转

    主要为大家详细介绍了Java实现单向链表反转,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Java算法(链表操作实例)

    一个java实例,用来描述java算法中链表的使用。

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

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

    Java版逆序单向链表的实现

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

    java单向链表的实现实例

    java单向链表的实现实例。需要的朋友可以过来参考下,希望对大家有所帮助

    java编写的循环链表来实现约瑟夫环

    循环链表 实现约瑟夫环 java 自己写的 测试通过 有注释

    java链表实现约瑟夫问题

    约瑟夫问题,通过类实现的链表,并加以改进,做成双向链表

    逆序输出单向链表-Java 版本

    附件是逆序输出单向链表_Java 版本源码,代码首先定义了一个Node类来表示链表的节点,然后定义了一个LinkedList类来表示单链表,并提供了添加节点、打印链表和逆序链表的方法。最后,在Main类中创建了一个链表实例,...

    单向循环链表(JAVA)

    类似约瑟夫环问题。有一群人组成一个圈。从头开始按照顺时针方向从1开始依次报数。报到到9的人就离开圈子。其左手边的人接着从1开始报数。依此进行,直到剩最后一个人为止。

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

    里面有注释,很详细。 对于数据结构基础不是很好地朋友来说,有很大的帮助。

    单向链表的逆序-Java版本

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

    64-Java单向链表的逆序1

    这个说起来也简单就是把1-2-3-4-5这样的链表逆序构建或打印出来5-4-3-2-1。比如用后进先出的栈的特性来做:就是按照链表的顺序把数据压入栈中,再打印栈

Global site tag (gtag.js) - Google Analytics