Stack, veri düzenleme yollarından bir tanesidir. Girilen veriler üst üste konularak bir yığın oluşturması sağlanır. Hızlı veri girişi yapılabilmesi açısından avantajlıdır ama düzensiz olduğu için ve içinden bir veri çekmek istediğimizde bütün verileri tekrardan düzenlememiz gerektiği için biraz yavaş kalır.
Stack için ilk giren son çıkar mantığı vardır. Mantıksal olarak düşünecek olursak bir yığının en altından herhangi bir şey almaya kalktığımızda yığın bozulacaktır.
Stack için kullanılan fonksiyonlara bakacak olursak.
push- stack'in içine eleman koymak için,
pop- stack'in içinden eleman almak için kullanılırlar.
Stack hakkında yapılmış güzel ve anlaşılır bir video paylaşmak istedim.
Push hakkında kendi yazdığım fonksiyonu paylaşıyorum;
void push(MYSTACK s, MYDATA a){
a->next = s->last;
s->last = a;
}
Pop hakkında kendi yazdığım fonksiyonu paylaşıyorum;
MYDATA pop(MYSTACK s){
MYDATA a = s->last;
if(a != NULL){
s->last = a->next;
}
return a;
}
Önceki yazılarımda belirttiğim benim gibi yeni başlayan birisiyseniz push ve pop mantığı hakkında biraz düşündükten sonra kendiniz yazmaya çalışırsanız gelişmenize çok yardımcı olur.