Yığın
Veri Yapıları O(1) push/pop O(n)LIFO kap: ekleme ve çıkarma aynı uçtan olur, yani son giren ilk çıkar.
Kodu adım adım izlemek için bir işlem seçin.
Değişmez`top`, en son eklenen öğeyi gösterir — kaldırılabilecek tek öğe odur.
stack.c
#define MAX 100typedef struct {int items[MAX];int top; /* -1 when empty */} Stack;void push(Stack *s, int value) {if (s->top == MAX - 1) return; /* overflow */s->items[++s->top] = value;}int pop(Stack *s) {if (s->top == -1) return -1; /* underflow */return s->items[s->top--];}int peek(const Stack *s) {return s->items[s->top];}
Yığın nasıl çalışır?
Son giren ilk çıkar. Push ve pop yalnızca tepeye dokunur, ikisi de sabit zamanlıdır; tepenin altı asla incelenmez.
Ne zaman kullanılır?
Geri alma geçmişleri, çağrı yığınları, parantez eşleme, DFS, ifade değerlendirme.