CodeBlanks Logo Icon CodeBlanks

Queue<T> ve Stack<T>

C# kursu · Orta seviye · Ders 79/116

Queue<T> ile FIFO ve Stack<T> ile LIFO koleksiyonlarını öğrenirsin.

Queue<T> ile FIFO sıra

Bir Queue<T> ilk giren ilk çıkar (FIFO) sırasıdır. Enqueue sona ekler, Dequeue baştakinı çıkartır. Peek baştakinı gösterir ama çıkartmaz.

Tipik kullanım: yazıcı kuyruğu, mesaj sırası, görev listesi. Yeni gelen eleman sona girer; sıradaki eleman her zaman en öndekidir. Boş kuyruktan Dequeue çağırırsan hata alırsın.

Stack<T> ile LIFO yığın

Bir Stack<T> son giren ilk çıkar (LIFO) yığınıdır. Push tepeye ekler, Pop tepedekini çıkarır. Peek tepeyi gösterir ama çıkarmaz.

Tipik kullanım: geri al yığını, ifade değerlendirme, derinlik öncelikli arama. En son eklenen eleman ilk çıkar. Boş yığından Pop çağırırsan hata alırsın. Queue ve Stack arayüzleri benzerdir ama sıra davranışları tersidir.

Uygulama Queue ve Stack birlikte

Aşağıdaki queue ve stack hazırdır. queue.Dequeue() ve stack.Pop() çağır; her birinin sonucunu ayrı satırda Console.WriteLine ile yazdır.

Örnek çözümü göster
Dequeue kuyruğun başından, Pop yığın tepesinden alır; ikisini de WriteLine ile yazdır.
Örnek çözüm:
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var queue = new Queue<string>();
        queue.Enqueue("bir");
        queue.Enqueue("iki");
        queue.Enqueue("üç");
        var stack = new Stack<int>();
        stack.Push(10);
        stack.Push(20);
        stack.Push(30);
        Console.WriteLine(queue.Dequeue());
        Console.WriteLine(stack.Pop());
    }
}

Kendini test et

  1. Hangisi kuyruğun önündekini çıkarır?

    • Enqueue
    • Push
    • Pop
    • Dequeue
    Cevabı göster

    Dequeue — Doğru. Dequeue kuyruğun önündeki elemanı çıkarır.

  2. Enqueue çağrısını tamamla

    queue.____("bir");
    Cevabı göster
    queue.Enqueue("bir");
  3. Metodu veri yapısına eşle

    Enqueue
    Kuyruğa ekle
    Dequeue
    Kuyruktan çıkar
    Push
    Yığına ekle
    Pop
    Yığından çıkar

Orta seviye bölümündeki tüm dersler