Derleyici Tasarımı
Yüklüyor...
Arıyor...
Eşleşme Yok
Sınıflar | Fonksiyonlar
stack.h Dosya Referansı

Basit stack. Ayrıntılar...

#include <stddef.h>
stack.h için içerme bağımlılık grafiği:

Bu dosyanın kaynak koduna git.

Sınıflar

struct  stack
 stack. Ayrıntılar...
 

Fonksiyonlar

void stack_init (struct stack *stack, size_t item_size)
 Yeni bir stack oluşturur.
 
void stack_destroy (struct stack *stack)
 stack tarafından ayrılmış balleği temizler.
 
void * stack_pop (struct stack *stack)
 En üstteki elemanı (top) stack'ten silip döner.
 
void stack_push (struct stack *stack, void *item)
 stack'in en üstüne elamanı ekler.
 
void * stack_top (struct stack *stack)
 stack'in en üstündeki elemanı döner.
 
void * stack_at (struct stack *stack, size_t index)
 Baştan indexinci elemanı döner.
 
size_t stack_len (const struct stack *stack)
 Toplam eleman sayısını döner.
 

Ayrıntılı tanımlama

Basit stack.

Genelde, stack'ler random accesse izin vermez, stack'teki bir elemana indeksiyle erişilmez. Katı stack implementasyonları, sadece top elemana erişim izni (pop/peek) verir; hatta toplam eleman sayısını da saklar ve yalnızca stack'in boş olup olmadığını belirten bir fonksiyon sunar.

Bu stack implementasyonu daha esnektir:

Ancak yine de sadece top elemanı çekip, toptan eleman ekleyip çıkarabilirsiniz.

stack.h dosyasında tanımlanmıştır.

Fonksiyon Dokümantasyonu

◆ stack_init()

void stack_init ( struct stack stack,
size_t  item_size 
)

Yeni bir stack oluşturur.

stack için gerekli bellek ayırır. item_size parametresi, kullanıcının ekleyeceği elemanların boyutunu belirtir.