日期:2014-05-20  浏览次数:20586 次

研究java源代码:关于Arrays.sort
仔细看了下众多Arrays.sort的重载方法。
发现java在实现这些sort方法的时候,排序Object的时候都是用合并排序
排序primitive(int,float等原型数据)的时候用的是快速排序,为什么要
这样呢,不是说快速排序是最好的吗?为什么都不用快速排序排呢?

------解决方案--------------------
探讨
引用:
接着说,而在c++中,当对象很大时,复制对象的代价是很大的,但是对象比较通常消耗比较少,
所以在c++中一般的排序使用快速排序比较合适

c++我没学过不知道,但是java中实现合并排序的话,是复制引用,比如把这个引用从数组a复制到数组b,貌似没有复制整个对象的需要
而这个引用,只是一个数值类型的地址。不知道你同不同意在java中的Arrays.sort中,用合并排序还是快速排序,并不是根据你所…

------解决方案--------------------
探讨
您误会了,我只是对某些不懂装懂的人嗤之以鼻