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();
}
Do'stlaringiz bilan baham: |