Menü Kapat

queue-priority queue

queue şablon sınıfı, sıranın C ++ ‘da çoğaltılması için kullanılır, ekleme her zaman sıranın arkasında gerçekleşir ve silme her zaman sıranın ön kısmında gerçekleştirilir.

  1. push() : sıranın arkasına eleman ekler

  2. pop() : sıranın ilk elemanını çıkarır ayrıca sıranın boyutunu 1 azaltır

  3. front(): sıranın en baştaki elemanını döndürür

  4. back(): sıranın sonundaki elemanı döndürür

  5. size(): sıranın eleman sayısını döndürür

  6. empty(): sıranın boş olup olmadığını kontrol eder.boş ise 1 ,dolu ise 0 değerini döndürür

  7. swap(): iki sıranın elemanları arasında takas yapar

Sıranın ilk ve son elemanını görme

int main() {

	queue<int> q;    // boş sıra
	q.push(12);      // sıraya 12 ekledik
	cout << q.front() <<"  "<<q.back() << endl;   // ilk eleman 12 son eleman 12
	q.push(13);      // sıraya 13 ekledik
	cout << q.front() << "  " << q.back() << endl; // ilk eleman 12 son eleman 13


	getchar();
	return 0;
}
çıktı

12  12
12  13

 

Sıradan eleman çıkarma

int main() {

	queue<int> q;    // boş sıra
	q.push(12);      // sıraya 12 ekledik
	q.push(13);      // sıraya 13 ekledik
	q.push(14);      // sıraya 14 ekledik
	cout << q.front() << "  " << q.back() << endl;  // ilk eleman 12 son eleman 14
	q.pop();        // sıradan ilk eleman çıkar (12)
	cout << q.front() << "  " << q.back() << endl;  // ilk eleman 13 son eleman 14

	getchar();
	return 0;
}
çıktı
12  14
13  14

 

priority queue

priority queue’nin,queue’den tek farkı elemanların büyükten küçüğe doğru sıralanmasıdır.

int main() {

	priority_queue<int> q;
	q.push(7);     // ilk eleman 7 son eleman 7
	q.push(9);    // ilk eleman 9  son eleman 7,
	q.push(8);    // ilk eleman 9 son eleman hala 7
	             // normal queue olsa idi sıralama 7 9 8 olurdu
                 // priority queue olduğu için sıralama 9 8 7 oldu
	cout<<q.top()<<endl;   // ilk eleman 9
	q.pop();      // sıranın ilk elemanı cıkar (9)
	cout << q.top();    // ilk eleman artık 8


	getchar();
	return 0;
}
çıktı
9
8

 

Bir yorum yazınız. Yorumlarınız bizim için değerlidir.