Самый простой способ - хранить данные в нормальной базе данных и добавлять/запрашивать/сортировать их с помощью запросов.
Если не имеется возможности использовать БД или требуется изобрести свой велосипед с квадратными колёсами:
1. Не используйте один общий список. Организуйте Б-дерево:
http://habrahabr.ru/post/114154/2. Для сортировки нет необходимости физически перемещать записи, можно указывать точное или примерное их положение. Можно сортировать ссылки на записи
3. Список 5 наихудших можно сформировать в процессе ввода данных. Обновлять его нужно при вводе новых данных.
год рождения, количество членов в семье, жилплощадь (кв. м.) , дата поставки на учет.
При вводе новой записи предусмотреть сортировку списка по количеству кв. метров,
приходящихся на 1 человека в порядке возрастания и выдавать на экран список первых
5 очередников с наихудшими жилищными условиями.
Прошу помочь с решением. Спасибо.