日期:2014-05-20  浏览次数:20671 次

树结构死锁为题
部门1下有部门2 
部门2下有部门3
部门3下有部门1
这样明显是不合理的
怎么在插入的时候控制
如果上级 和上上级部门是当前部门
就不让当前部门插入
1-2-3-4-5-1
like this。。。

------解决方案--------------------
just for fun~
Java code

public class TreeTest {
    public static void main(String[] args) {
        Set<TreeVo>  tree = new TreeSet<TreeVo>();
        TreeVo vo1 = new TreeVo(1,2);
        TreeVo vo2 = new TreeVo(2,3);
        TreeVo vo3 = new TreeVo(3,1);
        if(addTree(tree, vo1)){
            tree.add(vo1);
        }
        if(addTree(tree, vo2)){
            tree.add(vo2);
        }
        if(addTree(tree, vo3)){
            tree.add(vo3);
        }
        
    }
    
    public static boolean addTree(Set tree,TreeVo  vo){
        if(tree.contains(vo)){
            System.out.println("its fail because exit:"+ vo.getNext()); 
            return false;
        }else{
            System.out.println("its ok:" + vo.getNext());
            return true;
        }
    }

}