謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

逆写像ソート

↓勘違いしてる。uint[] nextを使えばオブジェクト毎ソートできる。

import std.stdio;

int[] mapsort(int min, int max)(int[] arr){
  size_t[max-min+1] len;

  foreach(i;0..arr.length)
    len[arr[i]-min]++;

  size_t c;
  foreach(i;0..max)
    foreach(j;0..len[i])
      arr[c++] = i;

  return arr;
}


void main(){
  writefln(mapsort!(0,0x100)([1,4,2,5,3,3,5,2,4,1]));
}