- Сортируете свой массив по городу.
- Заводите новый массив, двумерный, в который будете складывать записи.
- Итерируете по своему отсортированному массиву и смотрите, не поменялся ли город и не стало ли записей три. Если нет, то добавляете запись в последний подмассив двумерного, если да, то добавляете в двумерный новый массив и кладёте запись в него.
- Выводите получившийся двумерный массив куда надо.
Для простоты на третьем шаге можно завести три переменных:
предыдущий город,
количество элементов в последнем массиве и
индекс последнего массива в двумерном. Можно обойтись и без них, но лучше сначала сделать наглядно, раз у вас с алгоритмом пока проблема.