Systems and methods are disclosed for implementing and using data
structures comprised of a hierarchy of queues or linked list data
structures. A queue or linked list typically comprises a distributor, a
plurality of sub-queues or sub-linked lists, and a receiver. The
distributor distributes a plurality of items to be added to the queue or
linked list to the plurality of sub-queues or sub-linked lists in an
order, and the receiver receives the items from these elements in the
same order. Entries for the queues and/or linked lists may be stored in a
common memory. Stages of selectors may be used to select a current queue
or linked list and a particular sub-queue or linked list. The number of
queues/linked lists and sub-queues/sub-linked lists is unbounded and can
be sized according to the needs of the system, such as to overcome a
memory access speed limitation.