I am planning to implement a map-editor. But I don't really know what data structure is a good choice for storing the map-object in. When the user pans (scrolls) the map, there will be much looking up of what objects are in the visible area, usually by having a min_x, min_y and max_x, max_y coordinate pair. I have read that R-trees are good for this type of use, but they seem to be complicated to implement. So far I have just used a linked list that I have to loop through very often; it's not optimal, but it works. Are there any better choice of data structures?