Программалау тілдері туралы


// Стекті бастапқы қалыптастыру



бет37/40
Дата15.12.2021
өлшемі0,64 Mb.
#101004
түріПрограмма
1   ...   32   33   34   35   36   37   38   39   40
Байланысты:
ишпей куатындар ушин. Таратпандар-1

// Стекті бастапқы қалыптастыру

Node * first (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 (first in - first out, бірінші болып енеді - -бірінші болып шығады) қызмет көрсету принципін жүзеге асырады. Мұның жұмыс істеу принципін кезекте бірнеше сағат тұру арқылы көзге жеңіл елестетуге болады.Программалауда кезектердің қолданылу мысалдары:модельдеу, операциялық жүйенің есептерін диспетчерлеу,буферленген енгізу/шығару әрекеттері.

Төмендегі программа 5 бүтін саннан тұратын кезек құрады және соларды экранға шығарады. Кезектің соңына орналастыру функциясы - add, ал таңдау функциясы – del деп аталады. Кезектің басына нұсқауыш - pbeg, ал оның соңына нұсқауыш - pend деп аталады.

#include "stdafx.h"

#include

using namespace System;

using namespace std;

struct Node{

int d;


*

Node *p;


};

Node * first (int d);

void add(Node **pend, int d);

int del(Node **pbeg);

//------------------

int main(){

Node *pbeg = first(1);

Node *pend = pbeg;

for (int i = 2; i<6; i++) add(&pend, i);

while (pbeg)

cout << del(&pbeg)<<’ ‘;

cout << "\n\n";

system("pause");

return 0;

}

//---------------------------------



// Кезекті бастапқы қалыптастыру

Node * first(int d){

Node *pv = new Node;

pv->d = d;

pv->p = 0;

return pv;

}

//-----------------------------------



// Соңына элемент қосу

void add(Node **pend, int d){

Node *pv = new Node;

pv->d = d;

pv->p = 0;

(*pend)->p = pv;

*pend = pv;

}

///-------------------------------------



// Таңдау

int del(Node **pbeg){

int temp = (*pbeg)->d;

Node *pv = *pbeg;

*pbeg = (*pbeg)->p;

delete pv;

return temp;

}

Нәтижесінде:1 2 3 4 5





Достарыңызбен бөлісу:
1   ...   32   33   34   35   36   37   38   39   40




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет