Связанный список можно использовать для реализации очереди сообщений.
Очередь сообщений - это структура, в которой мы храним информацию о событиях для последующей обработки. Например, когда пользователь нажимает клавишу или перемещает мышь, это событие. Приложение может быть занято в момент возникновения события, поэтому нельзя ожидать, что оно обработает событие в тот момент, когда оно произойдет. Таким образом, событие помещается в очередь сообщений (информация о том, какая клавиша была нажата или где перемещена мышь), и, когда у приложения остается свободное время, оно проверяет свою очередь сообщений, выбирает события из нее и обрабатывает их. (Это происходит за миллисекунды, поэтому это не заметно).
Из сценария использования, который я только что описал, должно быть очевидно, что нам никогда не нужен произвольный доступ к событиям, хранящимся в очереди сообщений; мы заботимся только о том, чтобы иметь возможность хранить в нем сообщения и извлекать их. Таким образом, имеет смысл использовать связанный список, который обеспечивает оптимальное время вставки / удаления.
(Пожалуйста, не стоит указывать, что очередь сообщений, вероятно, или более вероятно, или почти так же вероятно, будет реализована с использованием кругового массива-списка; это техническая деталь, и она имеет ограничение: вы можете хранить только ограниченное количество сообщений в нем.)