Функція додавання елемента в чергу:
// * pbeg - покажчик на перший елемент черги // current - покажчик на поточний елемент черги; вказує на перший елемент // покажчик на попередній елемент черги // покажчик на новий елемент черги // поки поточний елемент не дорівнює NULL // покажчик previous вказує на той же елемент, що і покажчик current // переміщення покажчика current на наступний по відношенню до текущіму елемент // створюємо новий елемент черги // записуємо в поле info нового елемента значення змінної item // якщо черга не порожня (додається елемент в кінець черги) // покажчик на наступний елемент після нового дорівнює нулю (тобто елемент не існує ) // наступним по відношенню до п оследнему елементу черзі стає новий елемент // якщо чергу порожня (додається перший елемент черги) // першим елементом черги буде новий елемент // покажчик на наступний елемент поcле першого елемента дорівнює 0 (тобто елемент не існує)
Приклад 1. Необхідно сформувати чергу, складається з трьох елементів ( 'a', 'b', 'c'), представлену в програмі змінної q. Для цього використовується функція insert.
На рис. 5 показані зміни, що відбуваються при додаванні першого елементу черзі, на рис. 6 - при додаванні другого елемента черги, на рис. 7 - додавання третього елемента черги.
Мал. 5 - Додавання першого елемента черги
Мал. 6 - Додавання другого елемента черги
Мал. 7 - Додавання третього елементу черги
Приклад 2. Нехай в чергу, що складається з трьох елементів ( 'a', 'b', 'c'), представлену в програмі змінної q, необхідно додати елемент d 'після елемента' b '. В цьому випадку необхідно додати елемент в середину черзі.
Функція додавання елемента в середину черзі:
На рис. 8 показано, що відбувається після кожного кроку зміни.
Мал. 8 - Додавання елемента в середину черзі