Я реализовал очередь через односвязный список но я не знаю как удалить числа кратные 5 из очереди.
Код:
#include <iostream>
using namespace std;
void main()
{
struct node {
int info;
struct node *next;
};
typedef node *NodePtr; // указатель на тип node
NodePtr head = NULL;
NodePtr p; // указатель на текущий элемент
NodePtr tail; // указатель на "хвост" очереди
int N = 10; // количество элементов в очереди
int cnt = 1; // счетчик элементов в очереди
if (head == NULL)
{
head = new node;
head->info = cnt++; // или какому-то другому значению
head->next = NULL;
tail = head;
}
tail = head;
for (int i = 2; i <= N; i++)
{
p = new node;
p->info = cnt++;
tail->next = p; // в данном случае - NULL
p->next = NULL;
tail = p;
}
// Вывод очереди на экран
p = head;
for (int i = 1; i <= N; i++)
{
cout << p->info << ' ';
p = p->next;
}
cout << endl;
}