例如。
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;
总之,列表应该始终排序,并且应该很容易获得任何特定项目的最近邻居。
请注意,该列表是动态的。正在添加和删除项目。
答案 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)