1. A method for sorting data in an array processor, said method comprising: establishing connections between a plurality of processing elements by a managing element of the array processor, in accordance with a type of sort to be performed by the array processor and a number of input data streams and output data streams; receiving, by a first tier processing element of the plurality of processing elements, data inputs from a load streaming unit of the array processor; comparing, by the first tier processing element, input data portions received from the load streaming unit; selecting, by the first tier processing element, an input data portion of the input data portions to be an output data portion based on the comparing; in response to selecting the input data portion, removing, by the first tier processing element a queue entry corresponding to the selected input data portion; requesting, by the first tier processing element, a next input data portion from the load streaming unit; providing, by the first tier processing element, the output data portion as an input to a second tier processing element of the plurality of processing elements, wherein the second tier processing element generates output data based on a comparison of output data portions received from two first tier processing elements; receiving, by a third tier processing element of the plurality of processing elements, a first control signal from the managing element in response to providing output data generated by the third tier processing element to the managing element; and transmitting, by the third tier processing element, a signal to the second tier processing element to request output data generated by the second tier processing element; wherein the managing element includes the load streaming unit, a store streaming unit and an execution control unit, and wherein each processing element of the plurality of processing elements compares data portions stored in respective input queues.