1. A method to generate a sorted list in a memory, the method comprising: identifying a list including a plurality of elements and stored at a first location in the memory; mapping at least one element in the plurality of elements to a respective list position; determining, for each mapped element, a collision parameter; allocating, for each mapped element, space in the memory based on the collision parameter; determining, for each element in the plurality of elements, a respective memory location in the memory based on the allocated space and the collision parameter; transferring each element in the plurality of elements to its respective memory location; determining, for each mapped element, a colliding element selected from the plurality of elements; combining each mapped element and its respective colliding element into a subarray using a sorting algorithm; and storing the subarray in the space in the memory allocated for each respective mapped element by determining the respective memory location in the memory for each element in the plurality of elements.