首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java和.NET:为什么默认情况下使用不同的排序算法?

Java和.NET:为什么默认情况下使用不同的排序算法?
EN

Stack Overflow用户
提问于 2011-09-15 19:45:48
回答 1查看 2K关注 0票数 9

只是想知道为什么Java.NET Framework默认使用不同的排序算法。

In Array.Sort()默认使用合并排序算法,如Wikipedia.com所说:

在Java中,Arrays.sort()方法根据数据类型使用合并排序或优化的快速排序,当排序不到7个数组元素时,实现效率切换为插入排序

In .NET Framework Array.Sort/List.Sort()使用快速排序作为默认排序算法(MSDN):

List.Sort()使用Array.Sort,后者使用QuickSort算法。此实现执行不稳定排序;也就是说,如果两个元素相等,则它们的顺序可能无法保留。相反,稳定的排序保持了元素相等的顺序。

通过查看伟大的“算法比较”表,我们可以看到这两种算法与最坏情况和内存使用角度有很大不同的行为:

Java.NET都是企业解决方案开发的优秀框架,都有嵌入式开发平台。那么,为什么他们在默认情况下使用不同的排序算法,有什么想法?

编辑:,我看到已经有两个人投票结束了这个问题,因为这不是建设性的。我相信Java和.NET是最流行的开发框架,因此找到关于这样的决定的任何非琐碎和有趣的想法,也许是事实,都是非常有趣的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-15 19:47:32

两家不同公司的不同开发团队对其框架和组件的通常用例得出了不同的结论,并决定相应地实现。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7436613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档