这是我很久以前遇到的问题.我想我可能会问你的想法.假设我有一个非常小的数字列表(整数),4或8个元素,需要快速排序.什么是最好的方法/算法?
我的方法是使用max/min函数(10个函数来排序4个数字,没有分支,iirc).
// s(i,j) == max(i,j), min(i,j)
i,j = s(i,j)
k,l = s(k,l)
i,k = s(i,k) // i on top
j,l = s(j,l) // l on bottom
j,k = s(j,k)
Run Code Online (Sandbox Code Playgroud)
我想我的问题更多地与实现有关,而不是算法的类型.
此时它变得有点依赖于硬件,所以让我们假设带有SSE3的Intel 64位处理器.
谢谢