计数排序

  1. var countSort = function(array) {
  2.  var i, z = 0, count = [],
  3.  min = Math.min.apply({}, array),
  4.  max = Math.max.apply({}, array),
  5.  size = array.length;
  6.  //给新数组预填为零
  7.  for (i = min; i <= max; i++) {
  8.   count[i] = 0;
  9.  }
  10.  for (i=0; i < size; i++) {
  11.   count[array[i]]++;
  12.  }

  13.  for (i = min; i <= max; i++) {
  14.   while (count[i]-- > 0) {//循环新数组,如果不为零,则把i返回array
  15.     array[z++] = i;
  16.   }
  17.  }
  18.  return array;
  19. }

你可能感兴趣的:(排序)