我正在尝试在C程序中使用Sorting Network对A
个元素的一小列表n
进行排序。分类网络由SWAP(x, y)
宏组成,每个宏都比较两个元素A[x]
和A[y]
,并在必要时进行交换。 website生成SWAP(x, y)
宏序列,以对n <= 32
个元素进行排序。
现在,我正在寻找用于对SWAP(x, y)
元素进行排序的n = 64
序列。在这一点上,我不确定排序网络是否会比对n = 64
元素使用其他排序算法更快,但是我希望对其进行测试。我的问题是:是否有任何网站/论文/项目列出此顺序?还是从n = 64
的排序网络中为n <= 32
生成任何算法?
谢谢。
这与移位圆形数组有关(https://leetcode.com/articles/rotate-array/#中的方法3)
有确定序列的算法,即Bose-Nelson算法(https://metacpan.org/pod/Algorithm::Networksort),https://github.com/atinm/bose-nelson/blob/master/bose-nelson.c中有C实现