RosettaCodeData/Task/Anagrams/Elena/anagrams.elena
2024-03-06 22:25:12 -08:00

47 lines
997 B
Text

import system'routines;
import system'calendar;
import system'io;
import system'collections;
import extensions;
import extensions'routines;
import extensions'text;
import algorithms;
extension op
{
string normalized()
= self.toArray().ascendant().summarize(new StringWriter());
}
public program()
{
var start := now;
auto dictionary := new Map<string,object>();
File.assign("unixdict.txt").forEachLine::(word)
{
var key := word.normalized();
var item := dictionary[key];
if (nil == item)
{
item := new ArrayList();
dictionary[key] := item
};
item.append(word)
};
dictionary.Values
.quickSort::(former,later => former.Item2.Length > later.Item2.Length )
.top(20)
.forEach::(pair){ console.printLine(pair.Item2) };
var end := now;
var diff := end - start;
console.printLine("Time elapsed in msec:",diff.Milliseconds);
console.readChar()
}