Az Upper_bound() függvény használata C++-ban

Az Upper Bound Fuggveny Hasznalata C Ban



A C++ programozási nyelv használatával számos program készíthető, beleértve a játékokat, grafikákat, webszervereket és egyebeket. Előfordulhat azonban, hogy bizonyos műveleteket kell végrehajtanunk a programjaink adatain, például keresést, rendezést vagy a maximális vagy minimális érték megtalálását egy sor elem között. Az egyik függvény, amellyel meg lehet találni egy érték felső határát egy rendezett elemtartományban, a felső_határ().

Mi az a felső_korlát() függvény a C++-ban

A felső_korlát() függvény a C++-ban egy olyan függvény, amely az elemek rendezett tartományát és egy értéket veszi argumentumként, és egy iterátort ad vissza, amely a tartomány első elemére mutat, amely nagyobb, mint az érték.







Két különböző típusú érvelése van:



felső_korlát ( az egyiken. első , az egyiken. utolsó , érték )

A vizsgálandó elemek tartományát meghatározó iterátorok az elsők és az utolsók. A használt intervallum tartalmazza az összes elemet az első elemtől a végéig, de nem tartalmazza az utolsó elemet. Az érték az az érték, amellyel az elemeket össze kell hasonlítani.



felső_korlát ( az egyiken. első , az egyiken. utolsó ,  érték, összehasonlítás comp )

Ebben az esetben a comp bináris függvény olyan értéket állít elő, amely bool-ba konvertálható, és két azonos típusú paramétert fogad el a tartomány elemeiként. Ha egy bizonyos feltétel azt írja elő, hogy az első argumentum nem magasabb, mint a második, a függvénynek igaz eredményt kell visszaadnia, ha nem, akkor hamis értéket kell visszaadnia.





A felső_korlát() függvény használata C++-ban

A felső_határ() függvénnyel különféle helyzetekben megkereshetjük egy érték felső korlátját az elemek rendezett tartományában. Használhatjuk például egy elem helyzetének megkeresésére egy rendezett tömbben vagy vektorban, vagy a következő nagyobb elem megkeresésére egy halmazban vagy térképen. Íme néhány példa arra, hogyan kell használni a felső_korlát() függvényt C++-ban:

1. példa: A felső_határ() függvény használata egy elem pozíciójának megkeresésére egy rendezett tömbben

Íme egy példa, amely a felső_határ() függvényt használja egy elem helyzetének megkeresésére egy rendezett egész tömbben, és megjeleníti azt a képernyőn:



#include

#include

segítségével névtér std ;

int fő- ( )

{

int sor [ ] = { tizenöt , 35 , Négy öt , 55 , 65 } ;

int a = mérete ( sor ) / mérete ( sor [ 0 ] ) ;

cout << 'A tömb tartalmazza: ' ;

számára ( int én = 0 ; én < a ; én ++ )

cout << sor [ én ] << ' ' ;

cout << ' \n ' ;

int b = Négy öt ; // deklarál és inicializál egy értéket

int * p = felső határ ( tömb, tömb + a, b ) ;

cout << 'Felső határa' << b << ' a következő helyen van: ' << ( p - sor ) << ' \n ' ; // a pozíció megjelenítése mutató aritmetikával

Visszatérés 0 ;

}

A program először meghatározza a szükséges fejlécfájlokat és számokat tartalmazó tömböt, majd a sizeof() függvény segítségével határozza meg a tömb méretét. Ezután egy for ciklust használunk a tömb elemeinek megjelenítésére, majd deklarálunk egy egész számot, amelynek a tömbben elfoglalt helyét a mutató segítségével határozzuk meg, és ez megjelenik a kimenetben:

2. példa: A felső_határ() függvény használata a következő nagyobb elem megkeresésére egy halmazban

Íme egy példakód, amely a felső_határ() függvényt használja az adott értéknél következő nagyobb elem megkeresésére egy egész számok halmazában, és megjeleníti azt a képernyőn:

#include

#include

#include

segítségével névtér std ;

int fő- ( )

{

készlet < int > az egyiken = { tizenöt , 25 , 35 , Négy öt , 55 } ; // egész számok halmazának deklarálása és inicializálása

cout << 'Adott számok:' ;

számára ( auto a : az egyiken ) // a beállított elemek megjelenítése tartomány alapú for ciklus használatával

cout << a << ' ' ;

cout << ' \n ' ;

int a = Négy öt ; // deklarál és inicializál egy értéket

auto azt = felső határ ( az egyiken. kezdődik ( ) , az egyiken. vége ( ) , a ) ; // keresse meg x felső határát a halmazban a felső_határ() segítségével

ha ( azt ! = az egyiken. vége ( ) ) // ellenőrizze, hogy az iterátor érvényes-e

cout << 'A következő magasabb szám, mint' << a << 'van' << * azt << ' \n ' ; // az elem megjelenítése a hivatkozási operátor használatával

más

cout << 'Nincs ennél magasabb szám' << a << ' \n ' ; // üzenet megjelenítése, ha nem található ilyen elem

Visszatérés 0 ;

}

Először a kód definiálja a szükséges fejlécfájlokat, majd egy öt elemből álló vektort definiálunk, majd a vektort az auto kulcsszó segítségével jelenítjük meg, mivel az automatikusan be tudja állítani az elemek adattípusát. Ezután egy 45 értékű változót deklarálunk, amelyet összehasonlítunk a felső_határ() függvénnyel definiált vektorral, majd megjeleníti az összehasonlítás eredményét:

Következtetés

A felső_határ() függvény egy olyan iterátort ad vissza, amely egy adott értéknél nagyobb rendezett tartomány első elemére mutat. Ha meg szeretné keresni az első számot egy adott számnál nagyobb vagy azzal egyenlő intervallumban, használja a felső_határ() függvényt a C++ nyelven. Ez hasznos lehet olyan feladatoknál, mint például a következő legmagasabb szám megtalálása a listában vagy az első olyan elem megkeresése egy rendezett tömbben, amely nagyobb egy adott küszöbértéknél.