Вместо создания Head
и Tail
глобальных переменных создайте другую структуру, которая содержит их, например:
struct Queue {
struct Node *head;
struct Node *tail;
};
Затем измените ваши функции, работающие в очереди, чтобы указатель на Queue
struct, и оперируем этим.
Вам также понадобится функция initQueue
, которая инициализирует head
и tail
в NULL
.Тогда использование очереди может выглядеть так:
struct Queue queue1;
initQueue(&queue1);
addCharacter(&queue1, 'a');
//....