struct.java

来自「Java实现的常用数据结构算法」· Java 代码 · 共 85 行

JAVA
85
字号
package structs;

public class Struct extends Link {
	public String Name;
	public String Conduct;
	public Struct SubStruct;
	public String KeyWords;
	public Key key;
	public SeekProxy seeker;
	ALLocation allor;
	public Struct(String name){
		this.Name=name;
		allor=new ALLocation(this);
		key=new Key(this);
		seeker=new SeekProxy(this);
	}
	public String ClassName(){
	   return "Struct";
	}
	public boolean add(Struct node){
        return allor.add(node);     
	}
	public boolean add(String path,Struct node){
		return allor.add(path,node);

	}
	public void addPeerPath(String path){
		allor.addPeerPath(path);
		
	}	
	public void addPeer(Struct peer){
		super.add(peer);
	}
	public void addSubs(Struct[] nodes){
		allor.addSubs(nodes);
	}
	public void del(Struct node){
		if(node.ClassName()==ClassName()){			
			if(isContent(node)){
				super.del(node);				
			}else{
			}
		}else{
			if(this.SubStruct.equals(node))
			this.SubStruct=(Struct)SubStruct.Next;
			else
			SubStruct.del(node);
		}
	}
	public String find(Struct node){
		return seeker.find(node);
	}
	public Struct skByName(String name){
		return seeker.skByName(name);
	}
	public Book skByKW(String[] keys){
        return seeker.skByKW(keys);	    
	}
	public Book skByKW(String keys){
		return seeker.skByKW(keys);
	}
	public Struct getAt(String path){
        return seeker.getAt(path);
	}
	public Struct getNext(){
		return (Struct)Next;
	}
	public void display(String degree){
		if(SubStruct!=null)
		SubStruct.preDisplay(degree);
	}
	public void preDisplay(String degree){
		String deg="\t"+degree;
		System.out.println(degree+Name);
		if(SubStruct!=null){
			SubStruct.preDisplay(deg);
		}
		if(this.Next!=null){
		  getNext().preDisplay(degree);
		}
	    
	}
  
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?