int A[MAXN];
int B[MAXN];
int cnt[MAX_NUM + 1];
int N;

void COUNTING_SORT(int a[],int b[],int k)
{
    memset(cnt,0,sizeof(cnt));

    for (int i = 0; i < N; i++)
        cnt[a[i]]++;

    for ( i = 1; i <= k; i++)
        cnt[i] += cnt[i - 1];

    for ( i = N - 1; i >= 0; i--)
    {
        b[cnt[a[i]] - 1] = a[i];
        cnt[a[i]]--;
    }
}

 

posted on 2013-03-13 23:07  Sinker  阅读(119)  评论(0编辑  收藏  举报