optimized but not speedup :((((

1. changed to vector<particle*>
2. used map
3. added timing