codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <iostream> #include <stdlib.h> using namespace std; float q[7]; // массив, на основе которого строится очередь int qnext = 0, qindex = 0, qlength = 7; // qnext - индекс занесения // qindex - индекс извлечения // qlenght - длина очереди // *************ПРОСТАЯ ОЧЕРЕДЬ******************************* // Занесение элемента в линейную очередь void insertLinQ (float i) { if (qnext + 1 == qlength) // если переполнение { cout << "Мест нет!\n"; return; } qnext++; // смещение позиции записи q[qnext] = i; // ввод данных } // Извлечение элемента из линейной очереди float retrieveLinQ () { if (qindex == qnext) // если индекс сохранения равен индексу извлечения { cout << "Очередь пуста!\n"; return 0; } qindex++; // смещение позиции считывания return q[qindex]; // считывание } // ******************ЦИКЛИЧЕСКАЯ ОЧЕРЕДЬ********************* float q2[5]; int qnext2 = 0, qindex2 = 0, qlength2 = 5; // Занечение элемента в циклическую очередь void insertCicQ (float j) { if (qnext2 + 1 == qindex2 || (qnext2 + 1 == qlength2 && !qindex2)) { cout << "Мест нет!\n"; return; } q2[qnext2] = j; // запись qnext2++; // смещение позиции записи if (qnext2 == qlength2) qnext2 = 0; // циклический переход } // Извлечение элемента из циклической очереди float retrieveCicQ () { if (qindex2 == qlength2) qindex2 = 0; // циклический переход if (qindex2 == qnext2) { cout << "Очередь пуста!\n"; return 0; } qindex2++; // смещение позиции считывания return q2[qindex2-1]; // считывание } int main (int argc, char* argv[]) { setlocale (0, "rus"); cout << "***ЛИНЕЙНАЯ ОЧЕРЕДЬ***\n"; insertLinQ (1); // 1 insertLinQ (5); // 5 1 insertLinQ (8); // 8 5 1 cout << retrieveLinQ() << "\n"; // возвр. 1, в очереди 8 5 insertLinQ (7); // 7 8 5 cout << retrieveLinQ() << "\n"; // возвр. 5, в очереди 7 8 cout << retrieveLinQ() << "\n"; // возвр. 8, в очереди 7 insertLinQ (11); // 11 7 insertLinQ (10); // 10 11 7 insertLinQ (4); // 4 10 11 7 cout << "***ЦИКЛИЧЕСКАЯ ОЧЕРЕДЬ***\n"; insertCicQ (5); // 5 insertCicQ (7); // 7 5 insertCicQ (9); // 9 7 5 cout << retrieveCicQ() << "\n"; // возвр. 5, в очереди 9 7 insertCicQ (3); // 3 9 7 insertCicQ (11); // 11 3 9 7 cout << retrieveCicQ() << "\n"; // возвр. 7, в очереди 11 3 9 insertCicQ (15); // 15 11 3 9 insertCicQ (4); // ПЕРЕПОЛНЕНИЕ, в очереди 15 11 3 9 cout << retrieveCicQ() << "\n"; // возвр. 9, в очереди 15 11 3 cout << retrieveCicQ() << "\n"; // возвр. 3, в очереди 15 11 cout << retrieveCicQ() << "\n"; // возвр. 11, в очереди 15 cout << retrieveCicQ() << "\n"; // возвр. 15, очередь пуста cout << retrieveCicQ() << "\n"; // Очередь пуста! //system ("pause"); return 0; }
Private
[
?
]
Run code
Submit