Како користити функцију Уппер_боунд() у Ц++

Kako Koristiti Funkciju Upper Bound U C



Различити програми, укључујући игре, графику, веб сервере и још много тога, могу се направити помоћу Ц++ програмског језика. Међутим, понекад ћемо можда морати да извршимо неке операције над подацима у нашим програмима, као што су претраживање, сортирање или проналажење максималне или минималне вредности међу низом елемената. Једна од функција која се може користити за проналажење горње границе вредности у сортираном опсегу елемената је уппер_боунд().

Шта је функција уппер_боунд() у Ц++

Функција уппер_боунд() у Ц++ је функција која узима сортирани опсег елемената и вредност као аргументе и враћа итератор који показује на први елемент у опсегу који је већи од вредности.







Има две различите врсте аргумената:



нум уппер_боунд ( на једном. први , на једном. последњи , вредност )

Итератори који одређују опсег елемената који се испитују су први и последњи. Интервал који се користи садржи све елементе од првог елемента до краја, али не укључује елемент означен са последњим. Вредност је вредност са којом се упоређују елементи.



нум уппер_боунд ( на једном. први , на једном. последњи ,  вредност, упореди комп )

У овом случају, бинарна функција цомп производи вредност која се може конвертовати у боол и прихвата два параметра истог типа као ставке опсега. Ако одређени услов диктира да први аргумент није већи од другог, функција мора да врати тачан резултат, а ако није, треба да врати нетачно.





Како користити функцију уппер_боунд() у Ц++

Функција уппер_боунд() се може користити за проналажење горње границе вредности у сортираном опсегу елемената у различитим ситуацијама. На пример, можемо га користити да пронађемо позицију елемента у сортираном низу или вектору, или да пронађемо следећи већи елемент у скупу или мапи. Ево неколико примера како да користите функцију уппер_боунд() у Ц++:

Пример 1: Коришћење функције уппер_боунд() за проналажење положаја елемента у сортираном низу

Ево примера који користи функцију уппер_боунд() да пронађе позицију елемента у сортираном низу целих бројева и прикаже га на екрану:



#инцлуде <иостреам>

#инцлуде <битс/стдц++.х>

Користећи именског простора стд ;

инт главни ( )

{

инт низ [ ] = { петнаест , 35 , Четири, пет , 55 , 65 } ;

инт а = величина ( низ ) / величина ( низ [ 0 ] ) ;

цоут << 'Низ садржи: ' ;

за ( инт и = 0 ; и < а ; и ++ )

цоут << низ [ и ] << ' ' ;

цоут << ' ' ;

инт б = Четири, пет ; // декларишемо и иницијализујемо вредност

инт * стр = Горња граница ( низ, низ + а, б ) ;

цоут << „Горња граница од“ << б << ' је на позицији: ' << ( стр - низ ) << ' ' ; // приказује позицију користећи аритметику показивача

повратак 0 ;

}

Прво програм дефинише потребне датотеке заглавља и низ који садржи бројеве, а затим користи функцију сизеоф() да би добио величину низа. Затим се фор петља користи за приказ елемената низа, а затим се декларише цео број чија се позиција у низу одређује помоћу показивача и приказује се у излазу:

Пример 2: Коришћење функције уппер_боунд() за проналажење следећег већег елемента у скупу

Ево примера кода који користи функцију уппер_боунд() да пронађе следећи већи елемент од дате вредности у скупу целих бројева и прикаже га на екрану:

#инцлуде <иостреам>

#инцлуде <битс/стдц++.х>

#инцлуде <вектор>

Користећи именског простора стд ;

инт главни ( )

{

комплет < инт > на једном = { петнаест , 25 , 35 , Четири, пет , 55 } ; // декларишемо и иницијализујемо скуп целих бројева

цоут << „Дати бројеви:“ ;

за ( ауто а : на једном ) // приказује елементе скупа користећи петљу фор засновану на опсегу

цоут << а << ' ' ;

цоут << ' ' ;

инт а = Четири, пет ; // декларишемо и иницијализујемо вредност

ауто то = Горња граница ( на једном. започети ( ) , на једном. крај ( ) , а ) ; // пронађите горњу границу к у скупу користећи уппер_боунд()

ако ( то ! = на једном. крај ( ) ) // проверава да ли је итератор исправан

цоут << „Следећи већи број од“ << а << 'је' << * то << ' ' ; // приказује елемент користећи оператор дереференцирања

друго

цоут << 'Не постоји већи број од ' << а << ' ' ; // приказује поруку ако такав елемент није пронађен

повратак 0 ;

}

Прво код дефинише потребне датотеке заглавља, а затим се дефинише вектор од пет елемената, а затим се вектор приказује помоћу кључне речи ауто јер може аутоматски да подеси тип података елемената. Затим се декларише променљива која има вредност 45 која се затим упоређује са вектором дефинисаним помоћу функције уппер_боунд() и након тога приказује резултат поређења:

Закључак

Функција уппер_боунд() је функција која враћа итератор који показује на први елемент у сортираном опсегу који је већи од дате вредности. Да бисте лоцирали први број у интервалу који је већи или једнак наведеном броју, користите функцију уппер_боунд() у Ц++. Ово може бити корисно за задатке као што је проналажење следећег највећег броја на листи или проналажење првог елемента у сортираном низу који је већи од датог прага.