继续学习算法
#include<iostream>
void count_sort(int* A, int count, int *B, int k)
{
int* C = new int[k];
for (int i = 0; i < k; i++)
{
*(C + i) = 0;
}
for (int i = 0; i < count; i++)
{
*(C + *(A + i)) = *(C + *(A + i))+ 1 ;
}
for (int i = 1; i < k; i++)
{
*(C + i) += *(C + i - 1);
}
for (int i = count - 1; i >= 0; i--)
{
B[C[A[i]] - 1] = A[i];
C[A[i]] --;
}
delete[] C;
}
int main()
{
int A[8] = { 2,5,3,0,2,3,0,3 }, B[8];
count_sort(A, 8, B, 6);
}