Re: data type that preserve order



Il giorno sab 31 ott 2015 08:10:20 CET, Andrea Zagli ha scritto:
Il giorno ven 30 ott 2015 19:09:47 CET, Emmanuele Bassi ha scritto:
Hi;

On 30 October 2015 at 16:43, Andrea Zagli <azagli libero it> wrote:
is there a data type, similar to array, that preserve the order on which
elements are inserted?

All the array and list types preserve the order of insertion. For
obvious reasons, GHashTable doesn't.

for example ghashtable and gptrarray doesn't preserve the order, so when
they are traversed (for example with a "for" cicle, regarding gptrarray) the
order may be not the same when elements are inserted

GPtrArray preserves the order of insertion — it's an array, after all.
Why do you think it does not?


it is written on the help

https://developer.gnome.org/glib/stable/glib-Pointer-Arrays.html

"If you remove elements from the array, elements at the end of the array are moved into the space previously occupied by the removed element. This means that you should not rely on the index of particular elements remaining the same."


may be also other data type makes the same thing? i didn't find reference about that



however help for g_ptr_array_remove and g_ptr_array_remove_index says: "... The following elements are moved down one place. ..." (it is what i want)

may be i didn't understand the first

but g_ptr_array_remove_fast and g_ptr_array_remove_index_fast: "... The last element in the array is used to fill in the space, so this function does not preserve the order of the array. ..."

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]