1. A data processing apparatus for simultaneously sorting n input data words into a sorted list of m list entries comprising: a pre-sorting network receiving said n input data words and generating n outputs corresponding to said n input data words sorted from greatest to least; a sorting network storing up to m list entries and receiving the sorted n input data words and storing respective input data words into said m list entries.