[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sc-dev] sort
while testing my statistics stuff...
it turns out that sort changes the array itself:
a = [3,2,1,4];
// a.sort[2].postln; // e.g. find second largest item, or
a.median.postln; // calls sort also..,
a.postln; // and now, a is [1,2,3,4]!
I find this surprising, and would assume that sort should do .copy first.
also, (on large arrays) quicksort measures faster than mergeSort;
is there some other reason why it should be mergeSort,
or can I change sort to this:
sort { arg function;
if (function.isNil) { function = { arg a, b; a <= b }; };
^this.copy.quickSort(function)
}
?
best, adc
--
--
Alberto de Campo
Bergstrasse 59/33
A-8020 Graz, Austria
e-mail : decampo@xxxxxx
--