Зв'язаний список можна використовувати для реалізації черги повідомлень.
Черга повідомлень - це структура, в якій ми зберігаємо інформацію про події для подальшої обробки. Наприклад, коли користувач натискає клавішу або переміщує мишу, це подія. Додаток може бути зайнято в той момент, коли відбувається подія, тому не можна очікувати, що він обробить саме в той момент, коли він відбудеться. Отже, подія розміщується у черзі повідомлень (інформація про те, яка клавіша була натиснута, або куди рухалася миша), і коли у додатку є якийсь час для запасного, вона перевіряє свою чергу повідомлень, отримує з неї події та обробляє їх. (Це відбувається за часові рамки мілісекунд, тому це не помітно.)
З сценарію використання, який я щойно описав, повинно бути очевидним, що нам ніколи не важливо мати випадковий доступ до подій, що зберігаються в черзі повідомлень; ми дбаємо лише про те, щоб ми могли зберігати в ній повідомлення та отримувати їх. Отже, має сенс використовувати зв'язаний список, який забезпечує оптимальний час вставки / видалення.
(Будь ласка, не вдавайтеся вказувати на те, що черга повідомлень, імовірно, або майже так само ймовірно, буде реалізована за допомогою кругового списку масивів; це технічна деталь, і вона має обмеження: ви можете зберігати лише обмежена кількість повідомлень у ньому.)