[Gambas-user] New feature in the Array classes
Benoît Minisini
g4mba5 at gmail.com
Tue Feb 9 20:55:50 CET 2021
Le 09/02/2021 à 20:51, Bruce Steers a écrit :
>
> On Tue, 9 Feb 2021 at 19:37, Benoît Minisini <g4mba5 at gmail.com
> <mailto:g4mba5 at gmail.com>> wrote:
>
> Hi,
>
> Following the recent optimizations on the array classes (that
> apparently
> made array access about 15% faster), I added a new property named
> "Sorted" to the array classes.
>
> If you set that property to TRUE, it will tell the interpreter that the
> array is sorted.
>
> Then, the Find() and Exist() method will use a faster binary search
> algorithm instead of a sequential one.
>
> But it's up to you to maintain the array sorted. If Array.Sorted is
> TRUE, and the array is not actually sorted, the result of Find() and
> Exist() will be false.
>
> If Find() does not find the element, instead of returning -1, it will
> return a negative value indicating where the unfound element must be
> inserted in the array to keep it sorted.
>
> If Find() returns the value -N, then the unfound element must be
> inserted at position is (N - 1).
>
> Enjoy!
>
>
> Thank you :)
>
> Does Array.Add() support negative values?
Of course not. Reread the last lines of my mail.
> A quick...
> *myArray.Add(sText , myArray.Find(sText))*
> to keep things sorted.
> or might a new
> *myArray.AddSorted(sText)* command be possible for us?
You usually first search for an element, and then insert it if it does
not exist. So I find cumbersome to add a new Add() method in each array
class for that.
--
Benoît Minisini
More information about the User
mailing list