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



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

Лекция №12

Кезектің көрінісін енді төмендегі құрылымды пайдаланып қарастырайық. Құрылым үлгісін келесідей анықтай аламыз:

struct QUEUE{

int data[QUE_SIZE];

int head;

int tail;

}

Бұрынғыдай, деректер өлшемі que_size айнымалысының мәніне тең болатын массивте сақталады деп болжаймыз.



Сол сияқты, head айнымалысы кезектің басын, ал tail айнымалысы оның аяғындағы бірінші бос ұяшықты көрсетеді.Біз кезекке келесі операциялар орындалатынын білеміз:

  • кезекті құру;

  • кезекке элемент қосу;

  • элементті кезектен алу;

  • кезектің бостығын анықтау (иә / жоқ);

  • кезектің толықтығын анықтау (иә / жоқ).

Біз кезекте tail айнымалысы массивтің басына өтіп,оның мәні head айнымалысының мәнінен аз болатындай жағдай болуы мүмкін деп айттық. Мұндай жағдайды тану үшін қосымша операцияларды орындау қажет:

Нақты есептерде элементтерге қол жеткізу тәртібін FIFO-дан өзгеше болатындай жүзеге асыратын кезектерді қалыптастыру қажет болуы мүмкін.

Осындай кезектерден элементтерді іріктеу тәртібі элементтердің басымдықтарымен анықталады. Жалпы жағдайда басымдық элементтің кез-келген өрістерінің мәндері негізінде немесе сыртқы факторлар негізінде есептелетін сандық мәнмен ұсынылуы мүмкін. FIFO кезектерін басым кезектер ретінде түсіндіруге болады, онда элементтің басымдығы оның кезекке қосылу уақытына байланысты болады. Элементті таңдау кезінде әрдайым басымдық элементі таңдалады.Басымдылығы бар кезектер сызықтық тізім құрылымдарында - іргелес немесе байланысқан сипатта жүзеге асырылуы мүмкін.

Басымдылық қосылған кезектер болуы мүмкін, онда кезек элементтерінің реттілігі

үнемі тапсырыс бойынша сақталады, яғни. әр жаңа элемент оның басымдығымен анықталатын ретке сәйкес жерге қосылады, ал кезектен алып тастарда элемент әрқашан басынан таңдалады.Басымдылықтағы кезектерде жаңа элемент әрдайым кезектің соңына қосылатындай жағдай болуы да мүмкін, ал кезектен шығарылған кезде максималды басымдығы бар элемент

ізделеді (бұл іздеу тек сызықтық болуы мүмкін),іріктелгеннен кейін ол тізбектен жойылады. Қай жағдайда іздеу қажет, ал егер кезек статикалық жадқа салынса -элементтерді жылжыту да қажет болады.



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




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

    Басты бет