Я пишу код, который нужно часто добавлять в конец списка. Я знаю, что использование "++" неэффективно. Поэтому вместо этого я создаю список назад, добавляя его в голову, а затем меняю его, когда закончите. Я понимаю, что это обычная тактика новичков.
Я хотел бы создать его в правильном порядке для начала, но это означает переход на новую структуру данных. Я рассматриваю использование Data.Sequence или Data.DList для своего контейнера. Мой список состоит из строгих пар int, и мне не нужен случайный доступ к нему. Каковы относительные достоинства Data.Sequence и Data.DList, и есть ли другие контейнеры, которые я должен рассмотреть?