The question of what data structure to use depends a lot on what operations you need to do frequently. What operations do you need to be fast?
For example, many types of particle simulations mainly need “closest point” operations to be fast, and hence use some kind of tree (e.g. a kd tree or octtree).