0Pricing
C Academy · Ders

Yığınlar ve kuyruklar

Yığın (LIFO) ve kuyruk (FIFO) veri yapılarını ve bunların uygulamalarını anlayın

Yığınlar ve kuyruklar, CoddyKit'te ücretsiz bir C Academy dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C Academy kursu toplamda 3 dersten oluşur.

C'de Yığınlar ve Kuyruklar

C'de Yığınlar ve Kuyruklar

Yığınlar ve kuyruklar, verileri depolamak ve yönetmek için kullanılan doğrusal veri yapılarıdır.

Bu derste şunları öğreneceksiniz:

  • Yığınların nasıl çalıştığını (LIFO - Son Giren, İlk Çıkar).
  • Kuyrukların nasıl çalıştığını (FIFO - İlk Giren, İlk Çıkar).
  • C'de yığın ve kuyrukların nasıl uygulanacağını.
Yığınlar ve kuyruklar — resim 1

Yığın Nedir?

Yığın Nedir?

Yığın, Son Giren, İlk Çıkar (LIFO) ilkesini izler.

İşlemler:

  • Yığına ekleme - Bir öğeyi üste ekler.
  • Yığından çıkarma - En üstteki öğeyi kaldırır.
  • Üsttekini görüntüleme - En üstteki öğeyi kaldırmadan görüntüler.

Örnek: Yığın Uygulama

Örnek: Yığın Uygulama

Bu program, bir dizi kullanarak yığın işlemlerini gösterir.

#include <stdio.h>
#define MAX 5

int stack[MAX], top = -1;

void push(int value) {
    if (top == MAX - 1) {
        printf("Stack Overflow\n");
    } else {
        stack[++top] = value;
    }
}

int pop() {
    if (top == -1) {
        printf("Stack Underflow\n");
        return -1;
    } else {
        return stack[top--];
    }
}

int main() {
    push(10);
    push(20);
    printf("Popped: %d\n", pop());
    return 0;
}

Kuyruk Nedir?

Kuyruk Nedir?

Kuyruk, İlk Giren, İlk Çıkar (FIFO) ilkesini izler.

İşlemler:

  • Kuyruğa ekleme - Bir öğeyi kuyruğun sonuna ekler.
  • Kuyruktan çıkarma - Bir öğeyi kuyruğun önünden kaldırır.
  • Öndekini görüntüleme - Öndeki öğeyi kaldırmadan görüntüler.

Örnek: Kuyruk Uygulama

Örnek: Kuyruk Uygulama

Bu program, bir dizi kullanarak kuyruk işlemlerini gösterir.

#include <stdio.h>
#define MAX 5

int queue[MAX], front = -1, rear = -1;

void enqueue(int value) {
    if (rear == MAX - 1) {
        printf("Queue Overflow\n");
    } else {
        if (front == -1) front = 0;
        queue[++rear] = value;
    }
}

int dequeue() {
    if (front == -1 || front > rear) {
        printf("Queue Underflow\n");
        return -1;
    } else {
        return queue[front++];
    }
}

int main() {
    enqueue(10);
    enqueue(20);
    printf("Dequeued: %d\n", dequeue());
    return 0;
}

Dairesel Kuyruk

Dairesel Kuyruk

Dairesel kuyruk, boş alanları yeniden kullanarak normal kuyruğun sınırlamalarını aşar.

İşlemler aynı kalır, ancak dizi üzerinde başa dönerek devam eder.

Örnek: Dairesel Kuyruk

Örnek: Dairesel Kuyruk

Bu program, dairesel kuyruk uygulamasını gösterir.

#include <stdio.h>
#define MAX 5

int queue[MAX], front = -1, rear = -1;

void enqueue(int value) {
    if ((rear + 1) % MAX == front) {
        printf("Queue Overflow\n");
    } else {
        if (front == -1) front = 0;
        rear = (rear + 1) % MAX;
        queue[rear] = value;
    }
}

int dequeue() {
    if (front == -1) {
        printf("Queue Underflow\n");
        return -1;
    }
    int data = queue[front];
    if (front == rear) {
        front = rear = -1;
    } else {
        front = (front + 1) % MAX;
    }
    return data;
}

int main() {
    enqueue(10);
    enqueue(20);
    printf("Dequeued: %d\n", dequeue());
    return 0;
}

Yığınların ve Kuyrukların Uygulamaları

Yığınların ve Kuyrukların Uygulamaları

Yığınlar şu amaçlarla kullanılır:

  • İşlev çağrılarının yönetimi (özyineleme).
  • Geri alma/yineleme işlemleri.
  • İfadelerin değerlendirilmesi.

Kuyruklar şu amaçlarla kullanılır:

  • İşletim sistemlerinde görevlerin zamanlanması.
  • Web sunucularındaki isteklerin yönetilmesi.
  • Ağ iletişiminde veri aktarımı.

Özet

Özet

Bu derste şunları öğrendiniz:

  • Yığınların ve kuyrukların nasıl çalıştığını.
  • Yığın ve kuyruk işlemlerinin nasıl uygulanacağını.
  • Yığınların ve kuyrukların kullanım alanlarını.

Sırada C'de ağaçları ve grafları inceleyeceğiz!

Yığınlar ve kuyruklar — resim 10

Sıkça Sorulan Sorular

“Yığınlar ve kuyruklar” dersi ücretsiz mi?

Evet — “Yığınlar ve kuyruklar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C Academy kursu toplamda 3 dersten oluşur.

“Yığınlar ve kuyruklar” dersinde ne öğreneceğim?

Yığın (LIFO) ve kuyruk (FIFO) veri yapılarını ve bunların uygulamalarını anlayın C Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.

“Yığınlar ve kuyruklar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Bağlı listeler
  2. Yığınlar ve kuyruklar
  3. Ağaçlar ve graflar
← C Academy Sayfasına Dön