Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс. Назначение структур: повышении эффективности и производительности программ. Структуры относятся к типам значений, и поэтому ими можно оперировать непосредственно, а не по ссылке. Следовательно, для работы со структурой вообще не требуется переменная ссылочного типа, а это означает в ряде случаев существенную экономию оперативной памяти.
Очередь– это частный случай списка, добавление элементов в который выполняется в один
конец – хвост, а выборка производится с другого конца – головы. Других операции с очередью нет. При выборке элемент исключается из очереди. Очередь реализует принцип обслуживания FIFO (первым пришел первым вышел).
Пример:
Очередь проще всего представить в виде узкой трубы, в один конец которой бросают мячи, с другого конца которой они вылетают.
Очереди имеет структуру:
1. информационное поле inf, которое может быть любого типа;
2. ссылочное поле next, которое будет использоваться для хранения ссылки на
следующий элемент очереди.
Функциональные элементы:
1) вложенный класс Node для реализации базового элемента очереди;
2) закрытое поле head, хранящее ссылку на первый элемент очереди;
3) закрытое поле tail, хранящее ссылку на последний элемент очереди; 4) конструктор класса.
tail

Две точки доступа head и tail.