本人在做一个角色访问控制的
关于角色的继承 我用了一个表来实现Role         F_Role
employee     null
sales        employee
manager      employee
manager      sales如是上面这样的情况 则应该构成一个有向无环图
问题是 如何将这个表转换为图 并请任意角色的继承关系?

解决方案 »

  1.   

    可以将表用2维数组表示int[,] human={......}然后对每一个职业新建一个邻链表,指向它的父类再根据邻链表画图。具体算法我也没。如果我明天有时间的话,我帮你写下
      

  2.   

    chenzhixin  有空一定帮我 我一直没搞定 还没点头绪呢
      

  3.   

    我对具体的算法也不太清楚所以今天看了下数据结构,发现一个图的定义。就改成了C#版的//职业信息
    class Job{
    public string strJobName;//职业
    public Job ParentJob;//是属于哪一类型的public Job(string name){strJobName=name;ParentJob=null;}
    }//图邻接表节点
    class ArcNode{public int curVex;//当前位置
    public ArcNode nextArcNode;//下一个元素的引用
    public Job  jobInfo;//存放当前顶点的职业的引用}
    //邻接表定义
    class VexList{public Job VexInfo;//顶点的信息
    public ArcNode firstArc;//邻接表的第一条信息;}private int Max_Vex=5;//顶点的个数
    //图
    class Graphic{public VexList[Max_Vex] vertices;//根据顶点个数创建的邻接表数组}接下来,你就可以这样将表转换成图了
    //将表内容转换成顶点
    Job[5] job; string[,] table={ {"Role","F_Role"},{....},........};for(int i=0;i<table.GetLength(0);i++)
    {
       for(int j=0;j<table.GetLength(1);i++)
       {
           job[i].strJobName=table[i,j];
           job[i].ParentJob=new Job(table[i,j]);    }}
      

  4.   

    livode(啊水) 有向无环图 还不是树