[Gambas-user] Sparse arrays? Possible?

Jussi Lahtinen jussi.lahtinen at gmail.com
Mon Mar 9 02:24:16 CET 2020


There rarely are good answers to questions like that without seeing the
code. But it seems I would use the normal dynamic object arrays.
Dim hArr As New Object[]

Fill the array with null objects up to known biggest value.
hArr.Insert(hTempArr.Resize(iBiggestValue))

And then just add the object. Unless the value is already within the max
index, then just add.


Jussi


On Mon, Mar 9, 2020 at 12:38 AM Bruce <adamnt42 at gmail.com> wrote:

> Much existing code uses the (full) array. The sparse situation occurs
> perhaps <5% of the time and represents "changes" to the existing set
> already present in the full array. I suppose that I could detect that
> the incoming messages represent changes and handle that as a temporary
> collection but then I'd have to clone and modify many methods that
> already exist in both applications and libraries (with the concomitant
> danger to both the current development and the ongoning support...
>
> The damn problem is that I cant process the change messages one by one,
> the entire set of original objects is affected by the entire set of
> changes.  And the changes must be done in an atomic sense because while
> one change set is building another (different) change set may start to
> arrive. Grrrr.
> b
>
> On 9/3/20 5:06 am, Jussi Lahtinen wrote:
> > Can you open bit more why using collection is out of the question?
> >
> > Jussi
> >
> > On Sun, Mar 8, 2020 at 7:16 AM Bruce <adamnt42 at gmail.com
> > <mailto:adamnt42 at gmail.com>> wrote:
> >
> >     Firstly, I haven't tried this but I was wondering if it is possible.
> >
> >     Given a set of objects that have an ordinal characteristic (not a
> >     property of the object itself and not encountered in the ascending
> >     order
> >     of that characteristic) is it possible to construct an array of such
> >     objects that is only sparsely populated?
> >
> >     Let's say we have the following objects, with that derived
> >     characteristic in brackets: Ahab(3),Chab(6), Fhab(2) and Ghab(7).
> >     I want to fill the array such that its' final representation is
> >     [0] -
> >     [1] -
> >     [2] Fhab
> >     [3] Ahab
> >     [4] -
> >     [5] -
> >     [6] Chab
> >     [7] Ghab
> >
> >     I don't know at the outset what the maximum ordinal value is and so I
> >     don't know the size of the array.
> >     There are reasons for using an array rather than a collection keyed
> by
> >     the value.
> >     The source of the objects is unsortable, they arrive over time in a
> >     random order.
> >
> >     Any thoughts?
> >     b
> >
> >     p.s. It's like the IP layer in TCP/IP putting the packets back in
> order
> >     to rebuild the entire message.
> >
> >     ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
> >
> >
> >
> > ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
> >
>
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gambas-basic.org/pipermail/user/attachments/20200309/b65aa6fa/attachment.html>


More information about the User mailing list