Insert( q , i ) – navbatga yangi element kiritish, bu yerda q – stek uchi, i - stekga kiritiladigan element;
Remove ( q ) – navbat boshidan elementni o’chirish;
Empty ( q ) – navbatni bo’sh yoki bo’sh emasligini tekshirish (natija: true - bo’sh, false – bo’sh emas);
Faraz qilaylik, navbat bir o’lchamli massiv ko’rinishida ifodalangan bo’lib uning uzunligi max_q ga teng bo’lsin, ya’ni queue[max_q]. Bu yerda first –navbat boshi, last navbat oxiri, x esa BT turga tegishli element.
void Insert(int last, BT x) {
if (last= =max_q) exit(1);
queue[last]=x;
last++; }
void Empty(int first, last) {
if (first= =last) p=1;
else p=2; }
void Remove(int first, last) {
if (first= =last) exit(1);
first++; }
59. Дарахт тузилмасига таъриф беринг: илдиз, барг, тугун, ёй, шох, даража, ота-ўғил муносабати, авлод, аждод, дарахт баландлиги.
Daraxt-bu tugunlar(cho’qqilar) va ularni birlashtiruvchi yo’naltirilgan yoy(shox)lar majmuasi bo’lib,har bir tugunga(ildizdantashqari) bitta shox(kirishyoyi) yo’naltirilgan bo’ladi.
Ildiz—bu daraxtning boshlang’ich tuguni bo’lib, unga kirish yoy (shox)lar mavjud emas.
Ajdod–bu daraxt tuguni bo’lib, undan biror x tugunga shox chiqariladi, ya’ni x tugundan yuqorida turuvchi tugunlar “ajdod” tugunlar hisoblanadi. Masalan, rasmdagi 1tuguni 2,3,4, 5,6, 7,8 tugunlari uchun ajdodtugun hisoblanadi.
Avlod–bu daraxtning tuguni bo’lib, unga biror “ajdod” tugundan shox yo’naltirilgan, ya’ni daraxtning biror x tugunining davomchilari –quyida turuvchi tugunlari avlod tugunlar hisoblanadi. Masalan, 5 va 6 tugunlari 2 va 1 tugunlari uchun avloddeyiladi.
Ota –o’zidan keyingi x tugunga bevosita shox (yoy) bilan bog’langan tugun. Masalan, rasmdagi 1tuguni 2,3,4lar uchun ota, 2tuguni 5va 6uchun otatugun.
O’g’il–o’zidan oldingi x tugunga bevosita bog’langan tugun. Masalan, rasmdagi 8 tuguni 6tugun uchun o’g’il, 6tuguni 2uchun o’g’iltugun deyiladi.
Do'stlaringiz bilan baham: |