计数排序

传说中的O(n+k)时间复杂度的算法

看动画写的点击打开链接

void Countsort(int *a,int len)
{
    int maxx ,minn;
    maxx = minn = a[0];
    for(int i=0;ia[i])minn=a[i];
    }
    int Range=maxx-minn+1;
    int* c = new int[Range];
    int* ta = new int[len+1];

    for(int i=0;i=0;i--)
        ta[--c[a[i]-minn]]=a[i];
    for(int i=0;i

 

你可能感兴趣的:(杂谈(好吧,单纯就是个杂谈))