您的位置:首页 > Web前端 > Node.js

[算法]Java 实现 简单MyNode类型 无序链表 递归 添加 删除 遍历

2016-07-04 14:05 851 查看

MyNode 源码

// File name : MyNode.java
public class MyNode {
private Node first;
private int N;
private class Node {
String key;
Node next;
public Node(String key, Node next) {
this.key = key;
this.next = next;
}
}

public MyNode() {}

public int size()
{
return N;
}

public void put(String key)
{
first = new Node(key, first);
N++;
}

public void delete(String key)
{
first = delete(first, key);
}

public Node delete(Node x, String key)
{
if(x == null) return null;
if(key.equals(x.key)) {
N--;
return x.next;
}
x.next = delete(x.next, key);
return x;
}

public void show()
{
for(Node x = first; x != null; x = x.next) {
System.out.print(x.key+" ");
}
System.out.println();
}

public static void main(String[] args)
{
MyNode my = new MyNode();
String[] s = {"M","Y","N","O","D","E"};
for(int i = 0 ; i < s.length ; i++) {
my.put(s[i]);
}

System.out.println("After put all elements into my : ");
my.show();
System.out.println("After delete N from my : ");
my.delete("N");
my.show();

}
}


编译运行

>javac MyNode.java
>java MyNode
After put all elements into my :
E D O N Y M
After delete N from my :
E D O Y M


代码过程

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息