一个简单的Java单链表

一直对链表不太熟悉, 今天看了下并写了下来, 错的地方请指正.(注意:有的地方判断不够严格).


package com.test;



public class Link {

Node root;

private class Node{
String name ;
Node next;


public Node(String name){
this.name = name;
}


public void add(Node node) {
if(this.next == null){
this.next = node;
}else{
this.next.add(node);
}
}


public void print() {
System.out.print(this.name+"--->");
if(this.next != null){
this.next.print();
}
}


public boolean query(String name) {
if(this.next == null){
return false;
}else if(this.next.name.equals(name)){
return true;
}else{
return this.next.query(name);
}
}

public void delete(Node preNode , String name) {
if(this.name.equals(name)){
preNode.next = this.next;
}else{
this.next.delete(this , name);
}
}
}

public void addNode(String name){
if(this.root == null){
this.root = new Node(name);
}else {
this.root.add(new Node(name));
}
}

public boolean queryNode(String name){
if(this.root == null){
return false;
}else if(this.root.name.equals(name)){
return true;
}else{
return this.root.query(name);
}
}

public void deleteNode(String name){
if(this.root != null){
if(this.root.name.equals(name)){
this.root = this.root.next;
}else{
this.root.next.delete(root,name);
}
}
}

public static void main(String[] args) {
Link link = new Link();
link.addNode("根");
link.addNode("1");
link.addNode("2");
link.addNode("3");
link.addNode("4");
link.print();
System.out.println("");
System.out.println(link.queryNode("1"));
System.out.println("");
link.deleteNode("2");
link.print();
}

void print(){
if(this.root != null){
this.root.print();
}
}


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值