SS放出

これとKDVのゲームと試験の3つがあっても全てこなさなければならないのが我が宿命。言い換えるとプログラミングが好きなだけ。






写っているソース(Cもどき)

msort(x, a, b){
  var c, ret, y1, y2, i1, i2;
  var p, select;
  if(a == b)
    return [ x[a] ];
  c = (a + b) / 2;

  y1 = msort(x, a, c);
  y2 = msort(x, c+1, b);

  p = i1 = i2 = 0;
  ret = [];
  while(i1<size(y1) || i2<size(y2)){
    if(i1 >= size(y1))
      select = 2;
    else if(i2 >= size(y2))
      select = 1;
    else if(y1[i1] < y2[i2])
      select = 1;
    else
      select = 2;
    if(select == 1){
      ret[p] = y1[i1]; p=p+1; i1=i1+1;
    }
    else{
      ret[p] = y2[i2]; p=p+1; i2=i2+1;
    }
  }
  return ret;
}

main(){
  var a;
  a = [5,1,7,2,9,3,0,4];
  println(msort(a, 0, size(a)-1));
}