Implement a city database using unordered lists. Each database record contains the name of the city (a string of arbitrary length) and the coordinates of the city expressed as integer x and y coordinates. Your database should allow records to be inserted, deleted by name or coordinate, and searched by name or coordinate. Another operation that should be supported is to print all records within a given distance of a specified point. Implement the database using an array-based list implementation, and then a linked list implementation. Collect running time statistics for each operation in both implementations. What are your conclusions about the relative advantages and disadvantages of the two implementations? Would storing records on the list in alphabetical order by city name speed any of the operations? Would keeping the list in alphabetical order slow any of the operations? The x coordinates are the negative Longitude times 100 (87.85 --> 8785), and the y coordinates are the Latitudes times 100.
name x y
Chicago 8762 4187
Oak Park 8778 4188
Aurora 8832 4176
Elmhurst 8794 4189
Lombard 8800 4188
OakBrook 8795 4184
Hinsdale 8793 4180
Westmont 8797 4179
Darien 8797 4175
Burr Ridge 8792 4175
Palisades 8793 4171
La Grange 8787 4180
University 8768 4144
Orland Park 8785 4163
Blue Island 8768 4166
Harvey 8765 4161
Chicago Heights 8763 4151
Monee 8774 4142
Peotone 8778 4133
Beecher 8762 4134
Park Forest 8767 4149
Lynwood 8755 4153
Goodenow 8764 4139
Frankfort 8785 4149
Manteno 8783 4125
Calumet City 8753 4161
Munster 8751 4156
Hammond 8750 4158
Griffith 8742 4153
Merrillville 8733 4148