本来想写计数排序的,但是就是运行不出来,有没有人能帮我看看,可以的话解释我这些代码是什么意思?

#include
#include
#include
#include
#include<time.h>
using namespace std;
vectorrand_array;
vectoruser_array;
void Counting_Sort(int *A, int n)
{ int i; clock_t start, finish;
double duration;
start = clock();
int max = A[0];
for(int i =0; i < n; i++)
{if(A[i]>max) max = A[i]; }
int k=max;
int *C = new int[k + 1];
for(int i = 0; i < k + 1; i++)
C[i] = 0;
for(int j = 0; j<n; j++)
C[ A[j] ] = C[ A[j] ] + 1;
for(int i = 1; i < k + 1; i++)
C[i] = C[i] + C[i - 1];
int *B = new int[k + 1];
for(int j = n - 1; j >= 0; j--)
{ C[ A[j] ] = C[ A[j] ]-1;
B[ C[ A[j] ] -1] = A[j]; }
delete[] C;
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
cout << "时间复杂度为:" << duration;
cout << endl;
int len = sizeof(A)/sizeof(A[0]);
cout<<"排序后A[i]的值为: ";
for(i=0; i<len; i++){cout<<B[i]<<", "; }}
int main(){ int n;
int num;
int test = 1000;
srand(time(0));
cout << "请输入要输入的数据的个数:"<< endl; cin >> n;
cout << "请输入数据:"<<endl;
for (int i = 0; i < n; i++)
{ cin >> num;
user_array.push_back(num); }
while(test--)rand_array.push_back(rand() % 1000);
int *A = (int *) malloc(sizeof(int) * n);
Counting_Sort(A,n);
return 0;}