4.5 Kuyruklar (Queues)
C++ dilinde kuyruk (queue), verileri FIFO (First In, First Out - İlk Giren İlk Çıkar) mantığıyla saklayan bir veri yapısıdır. Kuyruk yapısı, verilerin ilk eklenen elemanın ilk olarak çıkarıldığı bir düzen sağlar. Kuyruklar genellikle işlem sıralama, görev yönetimi ve diğer birçok durumda kullanılır.
Kuyrukların Temel Özellikleri
FIFO Yapısı: Kuyruklarda ilk eklenen eleman, ilk çıkarılan elemandır. Bu yapı, kuyrukların temel işleyiş prensibidir.
İki Temel İşlem: Kuyruklar genellikle iki temel işlemle çalışır:
Enqueue: Kuyruğa bir eleman eklemek.
Dequeue: Kuyruktan bir eleman çıkarmak.
En Önceki Elemanı Görme: Kuyruktaki en önceki elemanı görmek için kullanılan bir işlem vardır, bu işleme Front denir. Ancak bu işlem kuyruktan herhangi bir elemanı çıkarmaz.
Kuyrukların Kullanımı
C++'ta kuyruklar, #include <queue>
ifadesi ile kullanılmaya başlanır. Aşağıda kuyrukların temel kullanımını gösteren örnekler bulunmaktadır.
Kuyruk Oluşturma ve Eleman Ekleme
#include <iostream>
#include <queue>
int main() {
// Kuyruk oluşturma
std::queue<int> kuyruk;
// Eleman ekleme
kuyruk.push(10);
kuyruk.push(20);
kuyruk.push(30);
// En öncedeki elemanı yazdırma
std::cout << "Kuyruktaki en öncedeki eleman: " << kuyruk.front() << std::endl;
return 0;
}
Eleman Çıkarma
Kuyruktan eleman çıkarmak için pop()
fonksiyonu kullanılır.
#include <iostream>
#include <queue>
int main() {
// Kuyruk oluşturma
std::queue<int> kuyruk;
kuyruk.push(10);
kuyruk.push(20);
kuyruk.push(30);
// Kuyruktan eleman çıkarma
std::cout << "Kuyruktan çıkarılan eleman: " << kuyruk.front() << std::endl;
kuyruk.pop(); // En öncedeki elemanı çıkar
std::cout << "Yeni en öncedeki eleman: " << kuyruk.front() << std::endl;
return 0;
}
Kuyruk Boş Mu Kontrolü
Kuyruğun boş olup olmadığını kontrol etmek için empty()
fonksiyonu kullanılabilir.
#include <iostream>
#include <queue>
int main() {
// Kuyruk oluşturma
std::queue<int> kuyruk;
// Kuyruğun boş olup olmadığını kontrol etme
if (kuyruk.empty()) {
std::cout << "Kuyruk boştur." << std::endl;
} else {
std::cout << "Kuyruk doludur." << std::endl;
}
return 0;
}
Sonuç
C++ kuyrukları, verileri FIFO düzenine göre saklamanın etkili bir yolunu sunar. Kuyruklar, eleman ekleme, çıkarma ve en öncedeki elemanı görme gibi basit ama etkili işlemlerle çalışır.
Last updated
Was this helpful?