The complete task i have to solve is a little bit over my head. I need your help to find the most efficient solution for that. At first, i´ll simplify my question to the root of the task and get deeper into it´s complexity later if necessary: For a polyphonic ACEW debug tool i need to merge a polyphonic table (Core Array) containing the data for pre-selected voices into one monophonic table for GUI read out. This polyphonic data is recalled by an iteration. So with each iteration step, one entry of a column of each voice is given to the receiver. Voice by voice. For now, let´s have only one entry per column and per voice: a time stamp. It´s just a number. These numbers must be in ascending order in the target table (a Core array, too). Unfortunately, these numbers come in an unpredictable order from the source table and must be sorted. Example: Source table 1 from voice 1: 2, 4, 5 Source table 2 from voice 2: 1, 3, 6 resulting iteration stream: 2, 1, 4, 3, 5, 6 desired order in target table: 1, 2, 3, 4, 5, 6 There could be gaps between numbers, also, and voices could hold same numbers. The latter case must be merged into one target column, but that is a task which can be discussed later. The optimal solution would be to process the sorting in "real time" without buffering and re-reading or other delay based processes. I think there must be additional lists build up containing pointers to next and last entrys or something like that. Unfortunately i have no experience with that things. Thank you in advance!