.NET 中是否有内置的稳定排序例程和交换函数?
.NET 中是否有内置的稳定排序例程?
我知道 C++ 在“算法”std::sort()
下有一个内置排序例程。同样,我们有可以与 C# 一起使用的东西吗?
另外,.NET 中有内置的交换功能吗?
Is there any in-built stable sort routine in .NET?
I know that C++ has an in-built sort routine under "algorithms" std::sort()
. Likewise, do we have something to use along with C#?
Also, is there any in-built swap function in .NET?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Google 中使用“C# stable sort”显示此 SO 帖子为最佳结果:
.NET 的 `Array.Sort()` 方法使用的排序算法是稳定算法吗?
所以答案是:
Enumerable.OrderBy
是一个稳定的排序函数,不是内置于 C# 中,而是 .NET 框架库的一部分。关于“交换”:我不知道 .NET 框架中是否有任何预先构建的通用交换函数,但是在这里您可以找到不到 10 行代码的实现:
Using "C# stable sort" in Google revealed this SO post as top result:
Is the sorting algorithm used by .NET's `Array.Sort()` method a stable algorithm?
So the answer is:
Enumerable.OrderBy
is a stable sort function, not built into C#, but part of the .NET framework libraries.Concerning "Swap": I don't know of any prebuilt generic swap function in the .NET framework, but here you find an implementation in less than 10 lines of code: