Algoritmalar

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.

12
5
27← tepe

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 100
typedef 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.