2011-10-12 29 views
4

.NET中是否有任何內置的穩定排序例程?在.NET中有沒有內置的穩定排序例程和交換函數?

我知道C++在「算法」std::sort()下有一個內置的排序例程。同樣,我們有什麼與C#一起使用嗎?

此外,.NET中是否有任何內置交換函數?

+4

std :: sort既不內置於C++也不保證穩定。 –

+0

內置?這是什麼時候成爲內建者? – Dani

+0

C++中的穩定版本是'std :: stable_sort'。 – nawfal

回答

9

在谷歌使用「C#穩定排序」透露了這一SO崗位作爲頂級的結果:

Is the sorting algorithm used by .NET's `Array.Sort()` method a stable algorithm?

所以答案是:Enumerable.OrderBy是一個穩定的排序功能,沒有內置到C#,但部分.NET框架庫。

關於「交換」:我不知道在.NET framework中的任何預置的通用互換的功能,但here你會發現,在不到10行的代碼實現:

static void Swap<T>(ref T lhs, ref T rhs) 
{ 
    T temp; 
    temp = lhs; 
    lhs = rhs; 
    rhs = temp; 
} 
相關問題