В чём конкретно проблема?
Позиции сортируются по алфавиту, потом выводятся в цикле.
На каждой строке проверяется, равны ли первые символы текущей строки и предыдущей. Если не равны, выводится «большая буква».
(Ну и прочие манипуляции: закрыть таблицу с предыдущей буквой, открыть таблицу с текущей буквой и т. д.)