我有一個重建操作,它由構建一些鍵/值對組成。 關鍵是Double類型。 我每次有1對9對。 然後我需要按鍵的順序檢索值。c#快速排序和檢索少量的鍵值對
所以我的問題是什麼是實現這組對以實現所有操作的最佳性能的最佳方式?
在此先感謝
我有一個重建操作,它由構建一些鍵/值對組成。 關鍵是Double類型。 我每次有1對9對。 然後我需要按鍵的順序檢索值。c#快速排序和檢索少量的鍵值對
所以我的問題是什麼是實現這組對以實現所有操作的最佳性能的最佳方式?
在此先感謝
爲什麼要討論排序算法,.Net Framework已經有效的內置了99.9999%*可行的案例。
SortedList<double, T>
可能是你最好的選擇,除非你有重複的「鑰匙」,然後只需用一個List<Tuple<double,T>>
並調用Sort
或使用OrderBy
當你想要的結果。
除非您一次進行數以百萬計的這些排序操作,否則10件或更少的東西根本不算什麼。
*相對誇張。
非常感謝您提供非常快速的答案。 – eran 2012-04-02 14:21:53
像這樣的事情也許
var sorted = from k in yourContainer.Keys
orderby yourContainer[k] ascending
select k;
double
是不是一個很好的候選人爲key
。
但是如果你想要的方式來使用它,可以只使用一個Dictionary<double, ..something..>
或
SortedList<double, ..something..>
沒有ü嘗試什麼嗎?如果你嘗試了一些,你可以弄明白。 – DarthVader 2012-04-02 14:08:47
有了這麼少的數據,實際上並不重要。只需使用默認的'Sort'方法的內置容器並將其稱爲一天即可。 – FishBasketGordo 2012-04-02 14:12:48