Розглянемо алгоритм додавання тільки для другого елементу.
1. Введення інформації для поточного (другого) елемента - значення i.
2. Захоплюємо пам'ять під поточний елемент:
t = (Spis *) malloc (sizeof (Spis)); або t = new Spis;
3. Формуємо інформаційну частину (позначимо i 2):
t -> Next = NULL;
колишній останній елемент стає передостаннім.
6. Переставляємо покажчик останнього елемента на доданий:
В результаті отримаємо
Для додавання в чергу будь-якої кількості елементів організовується цикл, що включає пункти 1 6 розглянутого алгоритму. Завершення циклу реалізується в залежності від поставленого завдання.
Узагальнимо розглянуті етапи, тоді функція формування черги з даних оголошеного типу з додаванням нових елементів в кінець може мати наступний вигляд:
void Create (Spis ** begin, Spis ** end)
Spis * t = (Spis *) malloc (sizeof (Spis));
printf ( "\ n Input Info");
scanf ( ".", t -> info);
t -> Next = NULL;
if (* begin == NULL) // Формування першого елемента
(* End) -> Next = t; // Додавання в кінець
Ділянка програми зі зверненням до функції Create для додавання необхідної кількості елементів в чергу може мати наступний вигляд:
Spis * begin = NULL, * end;
while (repeat) / repeat=1 – продолжение ввода данных
printf ( "Stop - 0"); // repeat = 0 - кінець введення даних