digitalmars.D.learn - Custom compare function for array.sort on an integer array?
- Sequ <user example.net> Apr 19 2011
- Dmitry Olshansky <dmitry.olsh gmail.com> Apr 19 2011
- Dmitry Olshansky <dmitry.olsh gmail.com> Apr 19 2011
- Sequ <user example.net> Apr 19 2011
Like the topic says, is it possible to set a custom compare function, for when you are using the 'sort' property of an integer array? I want the integers to be sorted by a different criteria than their natural order. From the documentation (http://d-programming-language.org/arrays.html) I can see how it would be done for structs or objects, but it doesn't seem to be possible for primitive types. If it can't yet be done, then I'm sure that adding the ability to give a comparison function or lazy expression to the 'sort' call would be very useful. Unless there is some reason that that would be beyond the scope of the 'sort' property's purpose?
Apr 19 2011
On 19.04.2011 16:57, Sequ wrote:Like the topic says, is it possible to set a custom compare function, for when you are using the 'sort' property of an integer array? I want the integers to be sorted by a different criteria than their natural order. From the documentation (http://d-programming-language.org/arrays.html) I can see how it would be done for structs or objects, but it doesn't seem to be possible for primitive types. If it can't yet be done, then I'm sure that adding the ability to give a comparison function or lazy expression to the 'sort' call would be very useful. Unless there is some reason that that would be beyond the scope of the 'sort' property's purpose?
Like taken from docs below: bool myComp(int x,int y) {return x> y; } sort!(myComp)(array); See also: http://www.digitalmars.com/d/2.0/phobos/std_algorithm.html#sort -- Dmitry Olshansky
Apr 19 2011
On 19.04.2011 16:56, Dmitry Olshansky wrote:If you are talking use std.algorithm sort
", ouch :) -- Dmitry Olshansky
Apr 19 2011
If your are talking about D2, then use std.algorithm sort Like taken from docs below: bool myComp(int x,int y) {return x> y; } sort!(myComp)(array); See also: http://www.digitalmars.com/d/2.0/phobos/std_algorithm.html#sort -- Dmitry Olshansky
Apr 19 2011









Dmitry Olshansky <dmitry.olsh gmail.com> 