Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- //#include <deque>
- using namespace std;
- void print_queue(int queue[], int count) {
- if (count == 0)
- cout << "Очередь пуста";
- for (int i = 0; i < count; i++)
- cout << queue[i] << " ";
- cout << endl;
- }
- void push_front(int queue[], int &count, int elem) {
- if (count == 10)
- {
- cout << "Очередь полна";
- return;
- }
- for (int i = count; i > 0; --i)
- queue[i] = queue[i - 1];
- queue[0] = elem;
- ++count;
- }
- void push_back(int queue[], int &count, int elem) {
- if (count == 10)
- {
- cout << "Очередь полна";
- return;
- }
- queue[count++] = elem;
- }
- int pop_start(int queue[], int &count) {
- int elem = queue[0];
- for (int i = 0; i < *queue; i++) queue[i] = queue[i + 1];
- (count)--;
- return elem;
- }
- int pop_end(int queue[], int &count) {
- int elem = queue[count];
- (count)--;
- return queue[count];
- }
- int main()
- {
- setlocale(LC_ALL, "rus");
- int queue[10];
- int elem = 0;
- int count = 0;
- int key = 0;
- while (key != 5)
- {
- cout << "Содержимое: ";
- print_queue(queue, count);
- cout << "1. Добавить элемент в конец очереди" << endl;
- cout << "2. Извлечь элемент из начала очереди" << endl;
- cout << "3. Добавить элемент в начало очереди" << endl;
- cout << "4. Извлечь элемент из конца очереди + эл. из начала очереди"<< endl;
- cout << "5. Выход" << endl;
- cout << "Номер команды > ";
- //cin >> key;
- //while (scanf_s("%i", &key)!=1)
- while(!(cin>>key))
- {
- rewind(stdin);
- cin.clear();//убирает зацикливание
- cout << "Выберите операцию заново!" << endl;
- }
- if (key == 1)
- {
- cout << "Введите значение эл. для конца очереди: ";
- cin >> elem;
- push_back(queue, count, elem);
- }
- else if (key == 3)
- {
- cout << "Введите значение эл. для начала очереди: ";
- cin >> elem;
- push_front(queue, count, elem);
- }
- else if (key == 2)
- {
- if (count == 0)
- cout << "Очередь пуста";
- else printf("Извлечённый элелемнт из начала = %i\n", pop_start(queue, count));
- }
- else if (key == 4)
- {
- printf("Извлечённый элемент из конца очереди +начальный элемент = %i\n", pop_end(queue, count) + queue[0]);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement