Optimize UserList Node Calculations

instead of random pointer location in the node, put all of them in continues pointer array.
as a result there is no need to pass over on all the array but ranged