2011-02-07 22 views
0

是否有.NET 3.5就緒數據結構做由小數點鍵排序如下推薦分類收集搜索左最接近的值,右

存儲值,dublicates允許

得到下一個值(枚舉)最接近給定鍵左,右

一個例子:

汽車經銷商擁有車,客戶要求尋找最昂貴的汽車,但價格低於$ 1000

+0

有沒有那麼多的數據,你不能在需要時排序列表?您可以根據價格創建一個清單,並根據需要對其進行分類。有了一些IComparable-magic,你甚至可以創建一個列表,並按價格排序。 – CodingBarfield 2011-02-07 09:20:23

+0

@ Barfieldmv:相當多的數據條目。我只是想知道是否有.NET中的現有集合來適應這種情況。 – 2011-02-07 09:24:58

回答

1

見我建議你使用SQLite此類查詢。 和您的查詢將是:

from car in cars where car.Price < 1000 
order by car.Price descending 
select car 
1

你只需要使用表來存儲汽車的價格和每次添加新車價的時間排序。

List<int> PriceList= new List<int>(); 
PriceList.Sort(); 
1

我知道你正在尋找現成的結構,但可能值得探索的一個選項是van Emde Boas Tree。這個結構給你查找,找到繼任者,找到前輩,並且刪除O(lg lg n)中的所有時間,這比平衡搜索樹指數地快。我不熟悉C#中這個結構的任何實現,但它可能是解決問題的漸近最優方式。如果你存儲大量的整數,它也可以非常節省空間。