Finding the index of the maximum value in an associative array
cym13 via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue May 30 11:05:02 PDT 2017
On Tuesday, 30 May 2017 at 17:57:04 UTC, Lyle wrote:
> Hi,
>
> I have an associative array of type int[ulong] and I'm trying
> to get the index of the maximum value, like this:
>
> int[ulong] aa = [1UL: 2000,
> 2UL: 5000,
> 5UL: 1000];
>
> writeln(aa.maxIndex); // should print 2
>
> Can anyone help me out?
>
> Many thanks,
> Lyle
Simple enough: get all key/values pairs in the AA, and ask for
the element which is the maximum relatively to the value, then
take its key.
auto maxIndex(int[ulong] aa) {
import std.algorithm;
return aa.byKeyValue
.maxElement!(x => x.value)
.key;
}
More information about the Digitalmars-d-learn
mailing list