Stek (inglizcha stack stek; stek o'qiladi) bu lifo tamoyili bo'yicha tashkil etilgan elementlarning ro'yxati bo'lgan mavhum ma'lumotlar turi


struct stack { char *data; struct


Download 39.61 Kb.
bet2/4
Sana02.01.2022
Hajmi39.61 Kb.
#190899
1   2   3   4
Bog'liq
Стеки в с узб

struct stack

{

char *data;



struct stack *next;

};

Stack operatsiyalari [tahrirlash | kodni tahrirlash]



Uchta stack operatsiyalari mumkin: element qo'shish (aks holda itarish), elementni olib tashlash (pop) va bosh elementni o'qish (peek) [6].

Bosish paytida (surish) ilgari bosh bo'lgan elementga ishora qiluvchi yangi element qo'shiladi. Endi yangi element boshga aylanadi.

Element o'chirilganda (pop), birinchisi o'chiriladi va bosh ushbu ob'ekt ko'rsatgichga ega bo'ladi (keyingi element). Bunday holda, olib tashlangan elementning qiymati qaytariladi

void push( STACK *ps, int x ) // Добавление в стек нового элемента

{

if ( ps->size == STACKSIZE ) // Не переполнен ли стек?

{

fputs( "Error: stack overflow\n", stderr );



abort();

}

else

{

ps->items[ps->size++] = x;



}

}
int pop( STACK *ps ) // Удаление из стека

{

if ( ps->size == 0 ) // Не опустел ли стек?

{

fputs( "Error: stack underflow\n", stderr );



abort();

}


Download 39.61 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling