【发布时间】:2012-08-14 13:37:51
【问题描述】:
我正在尝试创建一个有序的类别分支列表,这样我就可以找到任何子类别并在开头添加"-";以及该类别可能具有的任何子类别并添加"--" 等。
我的测试类属性如下所示:
public int Id { get; set; }
public int OrderInList { get; set; }
public int ParentId { get; set; }
public IList<TestCategories> Subcategories { get; set; }
例子:
Books
-Special Offers
--Fiction
-eBooks
--Pdf
--Mobi
Maps
-United Kingdom
--Cumbria
--West Yorkshire
我有一个默认的根级别类别,包括 Id: 1、ParentId: 1 和 OrderInList: 1。
所以上面的顺序看起来像:
Id | ParentId | OrderInList
2 1 1 //Books
3 2 1 //-Special Offers
4 3 1 //--Fiction
5 2 2 //-eBooks
6 5 1 //--Pdf
7 5 2 //--Mobi
8 1 2 //Maps
9 8 1 //-United Kingdom
10 9 1 //--Cumbria
11 9 2 //--West Yorkshire
如何对完全无序列表进行排序,使其看起来像上面那样?
【问题讨论】:
-
那不是“分支列表”,那是一棵树。
-
无法理解您的输入和您要查找的输出。您是否有要在树中转换的无序列表?或者您有想要在排序列表中转换的树?
-
感谢 delnan 的纠正,我对术语有点不确定,所以我尽可能地描述了它!
标签: c# algorithm list sorting branch