C++'da Upper_bound() Fonksiyonu Nasıl Kullanılır

C Da Upper Bound Fonksiyonu Nasil Kullanilir



C++ programlama dili kullanılarak oyunlar, grafikler, web sunucuları ve daha fazlasını içeren çeşitli programlar yapılabilir. Ancak bazen programlarımızdaki veriler üzerinde arama, sıralama veya çeşitli öğeler arasından maksimum veya minimum değeri bulma gibi bazı işlemler yapmamız gerekebilir. Sıralanmış bir öğe aralığındaki bir değerin üst sınırını bulmak için kullanılabilecek işlevlerden biri Upper_bound() işlevidir.

C++'da Upper_bound() Fonksiyonu Nedir?

C++'daki Upper_bound() işlevi, sıralanmış bir öğe aralığını ve bağımsız değişken olarak bir değeri alan ve aralıktaki değerden daha büyük olan ilk öğeyi işaret eden bir yineleyici döndüren bir işlevdir.







İki farklı argüman türü vardır:



sayı üst_sınır ( birde. Birinci , birde. son , değer )

İncelenecek öğe aralığını belirten yineleyiciler ilk ve sonuncudur. Kullanılan aralık, ilk öğeden sonuna kadar tüm öğeleri içerir ancak sonuncuyla gösterilen öğeyi içermez. Değer, öğelerin karşılaştırılacağı değerdir.



sayı üst_sınır ( birde. Birinci , birde. son , değer, karşılaştırma karşılaştırması )

Bu durumda, comp ikili işlevi bool'a dönüştürülebilen bir değer üretir ve aralığın öğeleriyle aynı türden iki parametreyi kabul eder. Belirli bir koşul, ilk argümanın ikinci argümandan daha yüksek olmamasını gerektiriyorsa, fonksiyonun doğru sonucu döndürmesi gerekir; değilse, false değerini döndürmesi gerekir.





C++'da Upper_bound() İşlevi Nasıl Kullanılır?

Upper_bound() işlevi, çeşitli durumlarda sıralanmış bir öğe aralığındaki bir değerin üst sınırını bulmak için kullanılabilir. Örneğin, sıralanmış bir dizi veya vektördeki bir öğenin konumunu bulmak veya bir küme veya haritadaki bir sonraki daha büyük öğeyi bulmak için bunu kullanabiliriz. C++'da Upper_bound() fonksiyonunun nasıl kullanılacağına dair bazı örnekler:

Örnek 1: Sıralanmış Bir Dizideki Bir Öğenin Konumunu Bulmak için Upper_bound() İşlevini Kullanmak

Sıralanmış bir tamsayı dizisindeki bir öğenin konumunu bulmak ve ekranda görüntülemek için Upper_bound() işlevini kullanan bir örnek:



#include

#include

kullanarak ad alanı std ;

int ana ( )

{

int sıralamak [ ] = { on beş , 35 , Dört beş , 55 , 65 } ;

int A = boyutu ( sıralamak ) / boyutu ( sıralamak [ 0 ] ) ;

cout << 'Dizi şunu içeriyor: ' ;

için ( int Ben = 0 ; Ben < A ; Ben ++ )

cout << sıralamak [ Ben ] << ' ' ;

cout << ' \N ' ;

int B = Dört beş ; // bir değer bildir ve başlat

int * P = üst sınır ( dizi, dizi + a, b ) ;

cout << 'Üst sınır' << B << ' konumunda: ' << ( P - sıralamak ) << ' \N ' ; // işaretçi aritmetiğini kullanarak konumu göster

geri dönmek 0 ;

}

Program önce gerekli başlık dosyalarını ve sayıları içeren diziyi tanımlar ve ardından dizinin boyutunu elde etmek için sizeof() işlevini kullanır. Daha sonra dizinin elemanlarını görüntülemek için bir for döngüsü kullanılır ve ardından işaretçi kullanılarak dizideki konumu belirlenen bir tamsayı bildirilir ve çıktıda görüntülenir:

Örnek 2: Bir Kümedeki Sonraki Büyük Elemanı Bulmak için Upper_bound() Fonksiyonunu Kullanmak

Aşağıda, bir tam sayı kümesinde belirli bir değerden sonraki daha büyük öğeyi bulmak ve bunu ekranda görüntülemek için Upper_bound() işlevini kullanan örnek bir kod verilmiştir:

#include

#include

#include

kullanarak ad alanı std ;

int ana ( )

{

ayarlamak < int > birde = { on beş , 25 , 35 , Dört beş , 55 } ; // bir tamsayı kümesini bildir ve başlat

cout << 'Verilen Numaralar:' ;

için ( Oto A : birde ) // aralık bazlı for döngüsünü kullanarak set elemanlarını göster

cout << A << ' ' ;

cout << ' \N ' ;

int A = Dört beş ; // bir değer bildir ve başlat

Oto BT = üst sınır ( birde. başlamak ( ) , birde. son ( ) , A ) ; // üst_sınır() işlevini kullanarak kümedeki x'in üst sınırını bulun

eğer ( BT ! = birde. son ( ) ) // yineleyicinin geçerli olup olmadığını kontrol et

cout << 'Bir Sonraki Daha Yüksek Sayı' << A << ' dır-dir ' << * BT << ' \N ' ; // elemanı referans kaldırma operatörünü kullanarak göster

başka

cout << 'Bundan Daha Yüksek Bir Sayı Yok' << A << ' \N ' ; // böyle bir öğe bulunamazsa bir mesaj görüntüle

geri dönmek 0 ;

}

İlk önce kod gerekli başlık dosyalarını tanımlar ve ardından beş öğeden oluşan bir vektör tanımlanır, daha sonra vektör, öğelerin veri türünü otomatik olarak ayarlayabildiği için auto anahtar sözcüğü kullanılarak görüntülenir. Daha sonra değeri 45 olan bir değişken bildirilir ve bu daha sonra Upper_bound() işlevi kullanılarak tanımlanan vektörle karşılaştırılır ve ardından karşılaştırma sonucunu görüntüler:

Çözüm

Upper_bound() işlevi, belirli bir değerden daha büyük olan sıralanmış bir aralıktaki ilk öğeye işaret eden bir yineleyici döndüren bir işlevdir. Belirtilen sayıdan büyük veya ona eşit olan bir aralıktaki ilk sayıyı bulmak için C++'daki Upper_bound() işlevini kullanın. Bu, listedeki bir sonraki en yüksek sayıyı bulma veya sıralanmış bir dizide belirli bir eşikten büyük olan ilk öğeyi bulma gibi görevler için yararlı olabilir.