Upper_bound()-funktion käyttäminen C++:ssa

Upper Bound Funktion Kayttaminen C Ssa



Erilaisia ​​ohjelmia, kuten pelejä, grafiikkaa, web-palvelimia ja paljon muuta, voidaan tehdä käyttämällä C++-ohjelmointikieltä. Joskus saatamme kuitenkin joutua suorittamaan joitain toimintoja ohjelmiemme tiedoille, kuten etsimään, lajittelemaan tai etsimään enimmäis- tai vähimmäisarvoa elementtien joukosta. Yksi funktioista, joita voidaan käyttää arvon ylärajan löytämiseen lajiteltulta elementtialueelta, on yläraja().

Mikä on yläraja ()-funktio C++:ssa

C++:n yläraja()-funktio on funktio, joka ottaa lajitellun elementtialueen ja arvon argumentteina ja palauttaa iteraattorin, joka osoittaa alueen ensimmäiseen elementtiin, joka on arvoa suurempi.







Siinä on kaksi erityyppistä argumenttia:



numero yläraja ( yhdellä. ensimmäinen , yhdellä. kestää , arvo )

Iteraattorit, jotka määrittävät tutkittavien elementtien alueen, ovat ensimmäinen ja viimeinen. Käytetty aikaväli sisältää kaikki elementit ensimmäisestä elementistä loppuun, mutta ei sisällä viimeisellä merkittyä elementtiä. Arvo on arvo, johon elementtejä verrataan.



numero yläraja ( yhdellä. ensimmäinen , yhdellä. kestää ,  arvo, vertaa comp )

Tässä tapauksessa binäärifunktio comp tuottaa arvon, joka voidaan muuntaa booliksi ja hyväksyy kaksi samantyyppistä parametria alueen kohteina. Jos tietty ehto määrää, että ensimmäinen argumentti ei ole suurempi kuin toinen, funktion on palautettava tosi tulos ja jos ei, sen tulee palauttaa epätosi.





Upper_bound()-funktion käyttäminen C++:ssa

Funktion yläraja() avulla voidaan löytää arvon yläraja lajitellulta elementtialueelta eri tilanteissa. Voimme käyttää sitä esimerkiksi elementin sijainnin etsimiseen järjestetyssä taulukossa tai vektorissa tai seuraavan suuremman elementin etsimiseen joukosta tai kartasta. Tässä on joitain esimerkkejä yläraja-funktion käyttämisestä C++:ssa:

Esimerkki 1: Funktion yläraja() käyttäminen elementin sijainnin etsimiseen lajitetussa taulukossa

Tässä on esimerkki, joka käyttää yläraja-funktiota ()-funktiota elementin sijainnin etsimiseen järjestetyssä kokonaislukutaulukossa ja sen näyttämiseen näytöllä:



#include

#include

käyttämällä nimiavaruus std ;

int pää ( )

{

int joukko [ ] = { viisitoista , 35 , Neljä viisi , 55 , 65 } ;

int a = koko ( joukko ) / koko ( joukko [ 0 ] ) ;

cout << 'Matriisi sisältää:' ;

varten ( int i = 0 ; i < a ; i ++ )

cout << joukko [ i ] << ' ' ;

cout << ' \n ' ;

int b = Neljä viisi ; // ilmoittaa ja alustaa arvo

int * s = yläraja ( array, array + a, b ) ;

cout << 'Yläraja' << b << ' on paikassa: ' << ( s - joukko ) << ' \n ' ; // näyttää paikan käyttämällä osoittimen aritmetiikkaa

palata 0 ;

}

Ensin ohjelma määrittelee tarvittavat otsikkotiedostot ja numerot sisältävän taulukon ja käyttää sitten sizeof()-funktiota taulukon koon määrittämiseen. Seuraavaksi for-silmukkaa käytetään näyttämään taulukon elementit ja sitten ilmoitetaan kokonaisluku, jonka sijainti taulukossa määritetään osoittimella ja se näytetään tulosteessa:

Esimerkki 2: Funktion yläraja() käyttäminen seuraavan suuremman elementin etsimiseen joukosta

Tässä on esimerkkikoodi, joka käyttää yläraja-funktiota ()-funktiota etsimään seuraavaksi annettua arvoa suuremman elementin kokonaislukujoukosta ja näyttämään sen näytöllä:

#include

#include

#sisällytä

käyttämällä nimiavaruus std ;

int pää ( )

{

aseta < int > yhdellä = { viisitoista , 25 , 35 , Neljä viisi , 55 } ; // ilmoittaa ja alustaa kokonaislukujoukon

cout << 'Annetut numerot:' ;

varten ( auto a : yhdellä ) // näyttää joukkoelementit käyttämällä aluepohjaista silmukkaa

cout << a << ' ' ;

cout << ' \n ' ;

int a = Neljä viisi ; // ilmoittaa ja alustaa arvo

auto se = yläraja ( yhdellä. alkaa ( ) , yhdellä. loppu ( ) , a ) ; // etsi x:n yläraja joukosta käyttämällä yläraja()

jos ( se ! = yhdellä. loppu ( ) ) // tarkista, onko iteraattori kelvollinen

cout << 'Seuraava suurempi numero kuin' << a << ' On ' << * se << ' \n ' ; // Näytä elementti käyttämällä viittauksenpoistooperaattoria

muu

cout << 'Ei ole suurempaa numeroa kuin' << a << ' \n ' ; // näyttää viestin, jos tällaista elementtiä ei löydy

palata 0 ;

}

Ensin koodi määrittelee tarvittavat otsikkotiedostot ja sitten määritellään viiden elementin vektori, seuraavaksi vektori näytetään auto-avainsanalla, koska se voi automaattisesti asettaa elementtien tietotyypin. Seuraavaksi ilmoitetaan muuttuja, jonka arvo on 45, jota sitten verrataan yläraja-funktiolla määritettyyn vektoriin ja sen jälkeen näytetään vertailutulos:

Johtopäätös

Funktion yläraja() on funktio, joka palauttaa iteraattorin, joka osoittaa ensimmäiseen elementtiin lajitetulla alueella, joka on suurempi kuin annettu arvo. Voit etsiä ensimmäisen luvun intervallista, joka on suurempi tai yhtä suuri kuin määritetty luku, käyttämällä C++:n yläraja-funktiota. Tästä voi olla hyötyä tehtävissä, kuten luettelon seuraavaksi suurimman luvun löytämisessä tai lajitellun taulukon ensimmäisen elementin löytämisessä, joka on tiettyä kynnysarvoa suurempi.