//----------------------------------------------- int main(){ Node *top = fi rst(1); 9-1140
130
for (int i = 2; i<6; i++) push(&top, i); while (top) cout << pop(&top) << ' '; return 0; } //----------------------------------------------- // Стекті бастапқы қалыптастыру Node * fi rst (int d){ Node *pv = new Node; pv->d = d; pv->p = 0; return pv; } //----------------------------------------------- // Стекке орналастыру void push(Node **top, int d){ Node *pv = new Node; pv->d = d; pv->p = *top; *top = pv; } //----------------------------------------------- // Стектен таңдау int pop(Node **top){ int temp = (*top)->d; Node *pv = *top; *top = (*top)->p; delete pv; return temp; } Программаның жұмыс істеу нəтижесі:
5 4 3 2 1 Кезектер Кезек – бұл элемент қосу тізімнің бір басынан, ал таңдау екінші басынан
орындалатын бірбағытты тізімнің дербес түрі. Кезектерге қолданылатын басқа
опрерациялар анықталмаған. Таңдау кезінде элементті кезектен алып тастай-
ды. Кезек FIFO (fi rst in – fi rst out, бірінші болып енеді – бірінші болып шығады)
қызмет көрсету принципін жүзеге асырады. Мұның жұмыс істеу принципін
кезекте бірнеше сағат тұру арқылы көзге жеңіл елестетуге болады. Програм-
малауда кезектердің қолданылу мысалдары: модельдеу, операциялық жүйенің
есептерін диспетчерлеу, буферленген енгізу/шығару əрекеттері.
131
Төмендегі программа 5 бүтін саннан тұратын кезек құрады жəне соларды
экранға шығарады. Кезектің соңына орналастыру функциясы –