寻找能够找到最近邻居的已排序C#集合

时间:2015-12-17 13:55:37

标签: c# sorting

例如。

   ISortedMagicCollection<string> collecton = new SortedMagicCollection<string>();

   collection.Add("AAA");
   collection.Add("CCC");
   collection.Add("BBB");
   collection.Add("XXX");
   collection.Add("DDD");

   var points = collection.FindPrevious("BBB").Take(3).ToList();

   points[0] == "AAA"; // true;
   points[1] == "BBB"; // true;
   points[2] == "CCC"; // true;

总之,列表应该始终排序,并且应该很容易获得任何特定项目的最近邻居。

请注意,该列表是动态的。正在添加和删除项目。

1 个答案:

答案 0 :(得分:0)

C5库中的TreeSet类具有我正在寻找的

http://www.itu.dk/research/c5/Release1.1/c5doc/types/C5.TreeSet_1.htm

它有一个前身功能。

http://www.itu.dk/research/c5/Release1.1/c5doc/types/C5.TreeSet_1.htm#T:C5.TreeSet 1|M:C5.TreeSet 1.Predecessor(`0)