【问题标题】:C# How To Sort Two Columns By HierarchyC#如何按层次结构对两列进行排序
【发布时间】:2013-09-16 21:58:53
【问题描述】:

我正在比较用户组以查看哪些组是其他组的成员。然后,我需要从最大范围到最小范围对它们进行排序。任何语言的例子都可以。我知道一系列循环可以完成此任务,但未能成功完成。这是我的例子。我有两个列表如下:

 IT          Staff 
 Teacher     Staff 
 Engineer    IT 
 Engineer    Staff

我们可以看到 IT 部门是员工的一部分,教师是员工的一部分,工程师是 IT 的一部分,工程师是员工的一部分。我需要得到类似的结果:

 Staff
 IT Teacher
 Engineer

在这里,工程师列在教师下方并且不是教师组的一部分并不重要。我只需要从最大范围到最小的顺序。既然我知道 IT 和 Teacher 处于同一水平,Engineer 比 IT 小,IT 也一定比 Teacher 小。

非常感谢任何帮助。

【问题讨论】:

    标签: c# sorting logic hierarchy


    【解决方案1】:

    1.从两列中获取唯一项:

    • 老师
    • 工程师
    • 员工

    2.给每个项目一个起始重量,例如:100

    • IT = 100
    • 老师 = 100
    • 工程师 = 100
    • 员工 = 100

    3.对于每一项,每次出现在第一列(column[0]),减去其权重1

    • IT = 100 - 1 = 99
    • 老师 = 100 -1 = 99
    • 工程师 = 100 -1 -1 = 98
    • 员工 = 100

    4.按重量对您的物品进行分类:

    • 员工 (100)
    • IT(99)|教师(99)
    • 工程师 (98)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-27
      • 2022-01-08
      • 2020-12-25
      • 1970-01-01
      • 2016-05-21
      • 2017-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多