根据我的知识,quicksort是最快的排序算法之一,因为这就是如何在框架中实现Array.Sort()函数。 有没有办法加快字节数组的排序,可能使用不安全的代码和指针?
答案 0 :(得分:2)
对于字节数组,您可以考虑Counting sort,它按线性时间排序。
public static void Sort(byte[] a)
{
int[] counts = new int[256];
for (int i = 0; i < a.Length; i++)
counts[a[i]]++;
int k = 0;
for (int i = 0; i < counts.Length; i++)
for (int j = 0; j < counts[i]; j++)
a[k++] = (byte)i;
}