[Gambas-user] Data Structures like C++
tobi
tobiasboege01 at ...1601...
Mon May 21 22:40:20 CEST 2012
On Mon, 21 May 2012, Benoît Minisini wrote:
> Le 21/05/2012 21:51, Demosthenes Koptsis a écrit :
> > Basic languages have simple data structures like vars and arrays but
> > other languages
> > like c++ with the help of pointers can have advanced data structures
> > like containers etc...
> >
> > see a full list here
> > http://en.wikipedia.org/wiki/List_of_data_structures
> >
> > i wonder if such data structures can be implemented with gambas with
> > pointers and if such an action have any mean for real life
> > applications?
> >
> > Is it possible to have such data structures in gambas?
> > How about some of these to be part of the core libraries?
>
> Some data structures are missing, but not so many as you may think at
> first sight.
>
> If they are implemented, I don't think they will go inside the
> interpreter, to keep its size small (it is already too big for my
> tastes), but in an extern component.
>
> * Map/Associative array/Dictionary
> * Hash
>
> Use a Collection in both case. If the key is not a string, you must find
> a way to identify your key with a unique string.
>
> * Multimap
>
> Use a Collection whose values are arrays.
>
> * List
>
> Use an array. Since CPU have now one, two, three... memory caches,
> arrays as almost always faster than linked lists.
>
> * Set
>
> One could use a Collection to emulate it: by transforming a value into a
> string key, we can assume that the value belongs to the set if the
> collection has something associated with the key.
>
> But it would be better to add a Set native class with a native
> implementation (in C. Stop with C++!).
>
> * Multiset
>
> Same remarks (the value is associated to its number of occurence in the
> collection).
>
> * Priority queue
>
> Is it worth having a native implementation for that? I don't think so. A
> implementation in Gambas should be enough.
>
> * Queue
> * Deque
> * Stack
>
> Use an Array. The Push() and Pop() methods can help.
>
> * String
>
> We have strings of characters. Is something else really needed?
>
> * Tree
> * Graph
>
> Native implementation of that would be interesting.
>
> Any volunteer? :-)
>
> --
> Benoît Minisini
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
Heh... I was once working on reversing the collatz conjecture from a given integer - using a
(halfways) binary tree.
Graphs would in fact be interesting to implement but what is to be cleared up before anyone could
think about volunteering:
* Are trees restricted to their number of children?
* The same for graphs: restrictions on the number of edges?
The latter, I never used in programming (read of them a bit in mathematics). What could they be used
for generally? Representing town maps? :)
More information about the User
mailing list