Yarimstatik ma’lumotlar tuzilmasi Yarimstatik tuzilma nima??? Nima sababdan yarimstatik tuzilma deyiladi??? Bunday tuzilma uzunliklari oldindan beriladi (statiklik sharti), lekin tuzilmani tashkil etuvchi elementlar soni dastur bajarilishi mobaynida vaqtga va ro‘yxat uzunligiga bog‘liq ravishda o‘zgarib turishi mumkin (dinamiklik sharti). U holda mazkur ma’lumotlar tuzilmasi yarimstatik ma’lumotlar tuzilmasiga misol bo‘ladi. Faraz qilaylik, stek bir o‘lchamli massiv ko‘rinishida ifodalangan bo‘lib, uning uzunligi max_st ga teng bo‘lsin, ya’ni stack[max_st]. Bu erda t – stek uchi, x esa BT turga tegishli element.
void Empty(int t)
{
if (t= =0) p=1;
else p=2;
}
void Push(int t, BT x)
{
if (t= =max_st) exit(1);
stack[t]=x;
t++;
}
void Remove(int t)
{
if (t= =0) exit(1);
t--;
return stack[t];
}
void Full(int t)
{
if (t= =max_st) p=1;
else p=2;
}
Navbatdagi asosiy amallar 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 erda first –navbat boshi, last- navbat oxiri, x esa BT turga tegishli element.
void Empty(int first, last)
{
if (first= =last) p=1;
else p=2;
}
void Insert(int last, BT x)
{
if (last= =max_q) exit(1);
queue[last]=x;
last++;
}
void Remove(int first, last)
{
if (first= =last) exit(1);
first++;
}
void Full(int last)
{
if (last= =max_q) p=1;
else p=2;
}
Do'stlaringiz bilan baham: |