Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ConsoleApplication8.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- struct Node {
- int data;
- Node *next;
- };
- struct Queue{
- int size;
- Node* first;
- Node* last;
- };
- void Creation(Queue*Q) {
- Q->first = new Node; // выдялем память под новый элемент:
- Q->first->next = NULL;
- Q->last = Q->first;
- Q->size = 0;
- }
- void Add(Queue*Q) {
- int value;
- cin >> value;
- Q->last->next = new Node;
- Q->last = Q->last->next;
- Q->last->data = value;
- Q->last->next = NULL; // обнуление указателя на след.элемент
- Q->size++;
- }
- void top(Queue *Q,int k) { //функция вывода всех элементов , с учетом удаления элемента.
- if (Q->first->next->data == k) { // проверка если значение списка равно k , то меняем это значение на следующее по списку
- Q->first = Q->first->next; //смещение указателя
- }
- else { // если же это другое значение , то
- cout << Q->first->next->data; // просто выводим первый элемент
- cout << " ";
- Q->first = Q->first->next; //смещаем указать
- Q->size--; // уменьшаем размер на 1
- }
- }
- bool Full(Queue*Q) {
- if (Q->first == Q->last) return true;
- else return false;
- }
- int main() {
- //freopen("input.txt", "r", stdin);
- //freopen("output.txt", "w", stdout);
- Queue Q;
- Creation(&Q);
- int valuable;
- cin >> valuable;
- for (int i = 0; i < valuable; i++) {
- Add(&Q);
- }
- int k;
- cin >> k;
- for (int i = 0; i < valuable; i++) {
- top(&Q,k);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement