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"));
}
}
分享到:
相关推荐
这是一个单向链表,它具有插入与删除节点的功能。Entry类实现了链表的各节点。
Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现...
java语言模拟单向链表,JAVA数据结构
04.单向链表以及单向链表的应用.ppt
操作包括: 1. 在头部添加结点 2. 在尾部添加结点 3. 遍历 4. 逆置 5. 删除
java单向链表代码实现
培训班老师自己写的单向链表,代码非常全,也很好理解,可执行。
主要为大家详细介绍了Java实现单向链表反转,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
一个java实例,用来描述java算法中链表的使用。
主要给大家介绍了关于Java实现单向链表基本功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
附件是Java版逆序单向链表的实现,一个.java 文件,编译后即可运行,文件绿色安全,仅供学习交流使用,欢迎大家下载学习交流! 代码首先定义了一个ListNode类来表示链表中的节点,然后在reverseList方法中实现了...
java单向链表的实现实例。需要的朋友可以过来参考下,希望对大家有所帮助
循环链表 实现约瑟夫环 java 自己写的 测试通过 有注释
约瑟夫问题,通过类实现的链表,并加以改进,做成双向链表
附件是逆序输出单向链表_Java 版本源码,代码首先定义了一个Node类来表示链表的节点,然后定义了一个LinkedList类来表示单链表,并提供了添加节点、打印链表和逆序链表的方法。最后,在Main类中创建了一个链表实例,...
类似约瑟夫环问题。有一群人组成一个圈。从头开始按照顺时针方向从1开始依次报数。报到到9的人就离开圈子。其左手边的人接着从1开始报数。依此进行,直到剩最后一个人为止。
里面有注释,很详细。 对于数据结构基础不是很好地朋友来说,有很大的帮助。
附件是.java 文件,实现了单链表的逆序算法,文件绿色安全,仅供学习交流使用,欢迎大家下载学习交流! 首先定义了一个ListNode类来表示链表中的节点,然后在reverseList方法中实现了链表的逆序。reverseList方法...
这个说起来也简单就是把1-2-3-4-5这样的链表逆序构建或打印出来5-4-3-2-1。比如用后进先出的栈的特性来做:就是按照链表的顺序把数据压入栈中,再打印栈