gpt4 book ai didi

wpf - 操作次数最少的排序算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:55:16 25 4
gpt4 key购买 nike

操作次数最少的排序算法是什么?我需要在 HLSL 中实现它作为 WPF 像素着色器效果 v2.0 的一部分,因此考虑到像素着色器的限制,它需要的操作数量非常少。我需要对 9 个值进行排序,特别是当前像素及其相邻像素。

最佳答案

您想要使用插入排序或基数排序。以下是一些 C++ 实现:

基数排序

void radix (int byte, long N, long *source, long *dest)
{
long count[256];
long index[256];
memset (count, 0, sizeof (count));
for ( int i=0; i<N; i++ )
count[((source[i])>>(byte*8))&0xff]++;

index[0]=0;
for ( i=1; i<256; i++ )
index[i]=index[i-1]+count[i-1];
for ( i=0; i<N; i++ )
dest[index[((source[i])>>(byte*8))&0xff]++] = source[i];
}

您需要调用 radix() 四次,因为它只适用于一个列。

插入排序

void insertSort(int a[], int length)
{
int i, j, value;
for(i = 1; i < length; i++)
{
value = a[i];
for (j = i - 1; j >= 0 && a[j] > value; j--)
a[j + 1] = a[j];
a[j + 1] = value;
}
}

关于wpf - 操作次数最少的排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3025616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com