.NET 中是否有内置的稳定排序例程和交换函数?

发布于 2024-12-09 09:26:10 字数 134 浏览 0 评论 0原文

.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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眉目亦如画i 2024-12-16 09:26:10

在 Google 中使用“C# stable sort”显示此 SO 帖子为最佳结果:

.NET 的 `Array.Sort()` 方法使用的排序算法是稳定算法吗?

所以答案是: Enumerable.OrderBy 是一个稳定的排序函数,不是内置于 C# 中,而是 .NET 框架库的一部分。

关于“交换”:我不知道 .NET 框架中是否有任何预先构建的通用交换函数,但是在这里您可以找到不到 10 行代码的实现:

static void Swap(ref T lhs,ref T rhs)
{
    T 温度;
    温度=lhs;
    左轴 = 右轴;
    rhs = 温度;
}

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:

static void Swap<T>(ref T lhs, ref T rhs)
{
    T temp;
    temp = lhs;
    lhs = rhs;
    rhs = temp;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文