Bucket Sort

Fiz um algoritmo para organizar numeros usando bucket sort em C. o programa compila sem erros mas na hora ele trava. usei o debug e ele aponta a seguinte linha

void Bucket_Sort(int array[], int n)
{   
 int i, j;   
 int count[n];  
 for(i=0; i < n; i++)
 {   
  count[i] = 0;   
 }     
 for(i=0; i < n; i++)
 {    
  (count[array[i]])++; // ESSA LINHA QUE O DEBUG ACUSA
 }     
 for(i=0,j=0; i < n; i++)
 {   
  for(; count[i]>0;(count[i])--) 
  {       
   array[j++] = i; 
  }  
 }   
}  

e todos os sites que usei como base usam esse mesmo algoritmo. alguem sabe o por que disso?