Binary search in structs

FreeSlave via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Apr 5 16:06:24 PDT 2015


I have array of structs sorted by specific field. How can I 
perform binary search using this field as a key?

Currently I ended up with this, but it gives error:

struct S
{
     int i;
     string s;
}

import std.range;

void main(string [] args)
{
     S[] structs = [{1,"hello"}, {2,"world"}, {3, "!"}]; //sorted 
by i

     auto sortedRange = assumeSorted!(function bool(ref const S 
item, int needle) {
         return item.i < needle;
     })(structs);

     sortedRange.trisect(2); //compilation error
}


More information about the Digitalmars-d-learn mailing list