Код:
#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; }
Я не понимаю как удалять элементы из очереди по заданному условию.