我经常发现自己处于一种需要对少量元素进行排序的情况。小,我的意思是3或4。我的想法可能是正确的,对于这么小的问题集,我想要使用某种类型的显式或直接方法,而不是调用排序函数。2是微不足道的,3个元素仍然很简单,但超过4个项目,我开始喜欢简单的只是运行插入排序。
编码一个inline void sort_n(int *list)最多能有多少个元素? 4? 5? 6?
在本主题sorting int array with only 3 elements中,提供了对3个元素进行排序的两种解决方案。一个有更多的比较,而另一个最小化比较,但更复杂。在现代架构上,哪一个会在速度上脱颖而出?
发布于 2011-12-25 06:36:32
有人告诉我,标准库排序已经优化了小型n的用例--我从未尝试过验证它。
https://stackoverflow.com/questions/8627177
复制相似问题