- Фараз қилайлик, стек, дек ва навбатлар дастурда массив кўринишида ифодаланган бўлсин, у ҳолда мазкур маълумотлар тузилмаси яримстатик маълумотлар тузилмасига мисол бўлади.
- Яримстатик тузилма нима???
- Нима сабабдан яримстатик тузилма дейилади???
- Бундай тузилма узунликлари олдиндан берилади (статиклик шарти), лекин тузилмани ташкил этувчи элементлар сони дастур бажарилиши мобайнида вақтга ва рўйхат узунлигига боғлиқ равишда ўзгариб туриши мумкин (динамиклик шарти).
-
-
- Фараз қилайлик, стек бир ўлчамли массив кўринишида ифодаланган бўлиб унинг узунлиги max_st га тенг бўлсин, яъни stack[max_st]. Бу ерда t – стек учи, x эса BT турга тегишли элемент.
- 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;
- }
Навбатдаги асосий амаллар - Фараз қилайлик, навбат бир ўлчамли массив кўринишида ифодаланган бўлиб унинг узунлиги max_q га тенг бўлсин, яъни queue[max_q]. Бу ерда first –навбат боши, last навбат охири, x эса BT турга тегишли элемент.
- 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: |