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)); }