Radix sort by Grzegorz Bancerek

p = 0; j = 0; k = 0; x = 0; d = 0
var Q = new Queue();
var QDigit = new Array();
for(var j=0; j <= 9; j++) QDigit[j] = new Queue();
RandomInject(Q,10);
for(var k=1; k <= max; k++) {
  while (!Q.empty()) {
    var x = Q.first(); Q.pop();
    var d = digit(k,x);
    QDigit[d].inject(x);
  }  
  for(var j=0; j <= 9; j++) {
    while (!QDigit[j].empty()) {
      Q.inject(QDigit[j].first());
      QDigit[j].pop();
    }  
  }  
}