Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»


if (pt == *pbeg){ // тізім басына



Pdf көрінісі
бет124/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   120   121   122   123   124   125   126   127   ...   465
Байланысты:
аибм сплюс

if (pt == *pbeg){ // тізім басына 
pv->prev = 0; 
*pbeg = pv;}


129
else{ // тізім ортасына
(pt->prev)->next = pv; 
pv->prev = pt->prev;} 
pt->prev = pv; 
return;
}
pt = pt->next;
}
pv->next = 0; //тізім соңына 
pv->prev = *pend; 
(*pend)->next = pv; 
*pend = pv; 
}
Стектер
Стек – бұл құрамына элемент қосу жəне оны таңдау стектің төбесі деп ата-
латын бір басынан ғана орындалатын бірбағытты тізімнің дербес түрі. Стек-
ке қолданылатын басқа операциялар анықталмаған. Таңдау кезінде элемент 
стектен алынып тасталады. Стек LIFO (last in – fi rst out, соңғы болып енеді 
– бірінші болып шығады) қызмет көрсету принципін жүзеге асырады. Стекті 
бір ұшы жабық, ішіне доп лақтырылатын тар ұзынша құбыр ретінде елестету-
ге болады. Ең бірінші салынған допты алу үшін, одан кейін салынған барлық 
доптарды шығарып алу керек. Жергілікті (локалды) айнымалыларға жады 
LIFO принципі бойынша бөлінетін болғандықтан, стек сегменті дəл осылай 
аталған. Стектер жүйелі программалық жабдықтамаларда, компиляторларда, 
əртүрлі рекурсивті алгоритмдерде кеңінен қолданылады.
Төмендегі программа 5 саннан тұратын (1, 2, 3, 4, 5) стек құрады жəне оны 
экранға шығарады. Дəстүр бойынша стекке орналастыру функциясын 
push

ал таңдау функциясын
 pop
деп атайды. Стекпен жұмыс жасауға арналған 
нұсқауыш (
top
) əрқашан оның төбесіне сілтеме жасайды.
#include  
struct Node{
int d;
Node *p;
};
Node * fi rst(int d);
void push(Node **top, int d);
int pop(Node **top);


Достарыңызбен бөлісу:
1   ...   120   121   122   123   124   125   126   127   ...   465




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет