gpt4 book ai didi

c# - Array.sort(或任何集合排序方法)是否取决于 C# 中单个项目的大小?

转载 作者:行者123 更新时间:2023-12-03 22:58:13 24 4
gpt4 key购买 nike

我们都知道数组的排序方法。速度受存储在数组中的项目数的影响。但是,速度会受到单个项目大小的影响吗?我在网上搜索了这个,但没有找到令人信服的答案。有人有可以在此处显示的有用链接或解释吗?

例如,我们可以有一个数组存储 100 个字符串项,这些项的长度都是 20 个字符串字符。 100 个字符串项都是 30 个字符串字符,排序速度会有所不同吗?

谢谢

最佳答案

只要是引用类型,不,大小无关紧要。引用始终具有相同的大小,无论它指向的对象有多大,因此无论它们指向什么,交换两个引用都是常数时间。

编辑:既然您细化了问题,显然找出排序顺序将花费更多时间,比较两个对象越复杂。如果您有 100 个字符串,每个字符串的前两个字符不同,那么对它们进行排序将比有 100 个字符串(每个字符串的 100 个字符都包含 98 个“a”并且仅在最后两个字符不同)更快。

一般来说,在您怀疑性能之前,请确保您确实遇到了问题。比较 100 个字符串对于今天的硬件来说是小菜一碟。

关于c# - Array.sort(或任何集合排序方法)是否取决于 C# 中单个项目的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22559540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com