Jak używać funkcji Upper_bound() w C++

Jak Uzywac Funkcji Upper Bound W C



Za pomocą języka programowania C++ można tworzyć różnorodne programy, w tym gry, grafikę, serwery internetowe i inne. Czasami jednak może zaistnieć potrzeba wykonania pewnych operacji na danych w naszych programach, takich jak wyszukiwanie, sortowanie lub znajdowanie maksymalnej lub minimalnej wartości w zakresie elementów. Jedną z funkcji, których można użyć do znalezienia górnej granicy wartości w posortowanym zakresie elementów, jest Upper_bound().

Co to jest funkcja Upper_bound() w C++

Funkcja Upper_bound() w C++ to funkcja, która przyjmuje posortowany zakres elementów i wartość jako argumenty i zwraca iterator wskazujący pierwszy element w zakresie, który jest większy niż wartość.







Ma dwa różne typy argumentów:



liczba górna granica ( na jednego. Pierwszy , na jednego. ostatni , wartość )

Iteratory określające zakres elementów do sprawdzenia to pierwszy i ostatni. Wykorzystany przedział zawiera wszystkie elementy od pierwszego elementu do końca, ale nie obejmuje elementu wskazanego przez ostatni. Wartość to wartość, z którą mają być porównywane elementy.



liczba górna granica ( na jednego. Pierwszy , na jednego. ostatni ,  wartość, porównaj komp )

W tym przypadku funkcja binarna comp generuje wartość, którą można przekonwertować na wartość bool i akceptuje dwa parametry tego samego typu, co elementy zakresu. Jeśli określony warunek nakazuje, aby pierwszy argument nie był wyższy od drugiego, funkcja musi zwrócić wynik prawdziwy, a jeśli nie, powinna zwrócić fałsz.





Jak używać funkcji Upper_bound() w C++

Funkcji Upper_bound() można użyć do znalezienia górnej granicy wartości w posortowanym zakresie elementów w różnych sytuacjach. Na przykład możemy go użyć do znalezienia pozycji elementu w posortowanej tablicy lub wektorze albo do znalezienia następnego większego elementu w zestawie lub mapie. Oto kilka przykładów użycia funkcji Upper_bound() w C++:

Przykład 1: Użycie funkcji Upper_bound() do znalezienia pozycji elementu w posortowanej tablicy

Oto przykład użycia funkcji Upper_bound() do znalezienia pozycji elementu w posortowanej tablicy liczb całkowitych i wyświetlenia jej na ekranie:



#include

#include

za pomocą przestrzeń nazw st ;

wew główny ( )

{

wew szyk [ ] = { piętnaście , 35 , Cztery pięć , 55 , 65 } ;

wew A = rozmiar ( szyk ) / rozmiar ( szyk [ 0 ] ) ;

cout << „Tablica zawiera: „ ;

Do ( wew I = 0 ; I < A ; I ++ )

cout << szyk [ I ] << ' ' ;

cout << ' \N ' ;

wew B = Cztery pięć ; // zadeklaruj i zainicjuj wartość

wew * P = Górna granica ( tablica, tablica + a, b ) ;

cout << „Górna granica” << B << ' jest na pozycji: ' << ( P - szyk ) << ' \N ' ; // wyświetl pozycję za pomocą arytmetyki wskaźników

powrót 0 ;

}

Najpierw program definiuje niezbędne pliki nagłówkowe i tablicę zawierającą liczby, a następnie używa funkcji sizeof() w celu uzyskania rozmiaru tablicy. Następnie w pętli for wyświetlane są elementy tablicy, a następnie deklarowana jest liczba całkowita, której pozycja w tablicy jest wyznaczana za pomocą wskaźnika i wyświetlana na wyjściu:

Przykład 2: Użycie funkcji Upper_bound() do znalezienia kolejnego większego elementu w zestawie

Oto przykładowy kod wykorzystujący funkcję Upper_bound() do znalezienia w zbiorze liczb całkowitych kolejnego elementu większego od podanej wartości i wyświetlenia go na ekranie:

#include

#include

#uwzględnij

za pomocą przestrzeń nazw st ;

wew główny ( )

{

ustawić < wew > na jednego = { piętnaście , 25 , 35 , Cztery pięć , 55 } ; // zadeklaruj i zainicjuj zbiór liczb całkowitych

cout << „Podane liczby:” ;

Do ( automatyczny A : na jednego ) // wyświetl elementy zestawu za pomocą pętli for opartej na zakresie

cout << A << ' ' ;

cout << ' \N ' ;

wew A = Cztery pięć ; // zadeklaruj i zainicjuj wartość

automatyczny To = Górna granica ( na jednego. zaczynać ( ) , na jednego. koniec ( ) , A ) ; // znajdź górną granicę x w zestawie za pomocą funkcji Upper_bound()

Jeśli ( To ! = na jednego. koniec ( ) ) // sprawdź, czy iterator jest poprawny

cout << „Następna wyższa liczba niż” << A << ' Jest ' << * To << ' \N ' ; // wyświetl element za pomocą operatora dereferencji

w przeciwnym razie

cout << „Nie ma większej liczby niż” << A << ' \N ' ; // wyświetl komunikat, jeśli nie zostanie znaleziony taki element

powrót 0 ;

}

Najpierw kod definiuje niezbędne pliki nagłówkowe, następnie definiuje się wektor pięciu elementów, następnie wektor jest wyświetlany za pomocą słowa kluczowego auto, ponieważ może ono automatycznie ustawić typ danych elementów. Następnie deklarowana jest zmienna o wartości 45, którą następnie porównuje się z wektorem zdefiniowanym funkcją Upper_bound() i wyświetla wynik porównania:

Wniosek

Funkcja Upper_bound() to funkcja zwracająca iterator wskazujący pierwszy element w posortowanym zakresie, który jest większy niż podana wartość. Aby zlokalizować pierwszą liczbę w przedziale większym lub równym określonej liczbie, użyj funkcji Upper_bound() w C++. Może to być przydatne w przypadku zadań takich jak znajdowanie kolejnej największej liczby na liście lub znajdowanie pierwszego elementu w posortowanej tablicy, który jest większy niż zadany próg.