Kuyruklar, ilk giren ilk çıkar (FIFO First-in-First-Out) tipi bir düzenlemeyle çalışan bir tür container adaptörüdür. Öğeler arkadan (uçtan) eklenir ve önden silinir. Kuyruklar, temel kapsayıcı olarak deque veya list'in (sıralı kapsayıcı sınıfı) kapsüllenmiş bir nesnesini kullanır ve öğelerine erişmek için belirli bir üye işlevler kümesi sağlar.

<aside> 💡 Şöyle bir örnek verebiliriz. Ramazan pidesi kuyruğu ilk gelen ilk pidesini alıp sıradan çıkar.

</aside>

Syntax Söz dizimi ve nasıl initialization nasıl yapılır?

#include <iostream>
#include <queue>
using namespace std;

int main()
{
	queue<int> myqueue; //Normal boş tanım.
	queue<int> myqueue2(myqueue);//Copyalama constructor ile tanım.
}

Üye fonksiyonları:

<aside> 💡 Queue’lerde insert vb. bir method yoktur bunun nedeni kuyruklarda iterarot olmamasıdır.

</aside>

#include <iostream>
#include <queue>

using namespace std;

// Print the queue
void print_queue(queue<int> q)
{
	queue<int> temp = q;
	while (!temp.empty()) {
		cout << temp.front()<<" ";
		temp.pop();
		//referans veya pointer almayarak kopyasını aldığımızdan
		//silerek bütün kuyruğu ekrana yazdırıyoruz.
	}
	cout << '\\n';
}

int main()
{
	queue<int> q1;
	q1.push(1);
	q1.push(2);
	q1.push(3);

	cout << "The first queue is : ";
	print_queue(q1);

	queue<int> q2;
	q2.push(4);
	q2.push(5);
	q2.push(6);

	cout << "The second queue is : ";
	print_queue(q2);

	q1.swap(q2);
	
	cout << "After swapping, the first queue is : ";
	print_queue(q1);
	cout << "After swapping the second queue is : ";
	print_queue(q2);

	cout<<q1.empty(); //returns false since q1 is not empty

	return 0;
}