Cara Menggunakan Fungsi Upper_bound() di C++

Cara Menggunakan Fungsi Upper Bound Di C



Berbagai macam program, termasuk game, grafik, server web, dan lainnya, dapat dibuat menggunakan bahasa pemrograman C++. Namun, terkadang kita mungkin perlu melakukan beberapa operasi pada data di program kita, seperti mencari, mengurutkan, atau menemukan nilai maksimum atau minimum di antara serangkaian elemen. Salah satu fungsi yang dapat digunakan untuk mencari batas atas suatu nilai dalam rentang elemen yang diurutkan adalah upper_bound().

Apa itu Fungsi upper_bound() di C++

Fungsi upper_bound() di C++ adalah fungsi yang mengambil rentang elemen dan nilai yang diurutkan sebagai argumen dan mengembalikan iterator yang menunjuk ke elemen pertama dalam rentang yang lebih besar dari nilainya.







Ini memiliki dua jenis argumen yang berbeda:



nomor batas_atas ( pada satu. Pertama , di satu. terakhir , nilai )

Iterator yang menentukan rentang elemen yang akan diperiksa adalah yang pertama dan terakhir. Interval yang digunakan memuat seluruh elemen dari elemen pertama hingga akhir tetapi tidak mencakup elemen yang ditunjukkan oleh elemen terakhir. Nilai adalah nilai untuk membandingkan elemen.



nomor batas_atas ( pada satu. Pertama , di satu. terakhir ,  nilai, bandingkan comp )

Dalam hal ini, fungsi biner comp menghasilkan nilai yang dapat dikonversi menjadi bool dan menerima dua parameter bertipe sama dengan item rentang. Jika kondisi tertentu menyatakan bahwa argumen pertama tidak lebih tinggi dari argumen kedua, fungsi tersebut harus mengembalikan hasil yang benar dan jika tidak, maka harus mengembalikan hasil yang salah.





Cara Menggunakan Fungsi upper_bound() di C++

Fungsi upper_bound() dapat digunakan untuk menemukan batas atas suatu nilai dalam rentang elemen yang diurutkan dalam berbagai situasi. Misalnya, kita dapat menggunakannya untuk menemukan posisi suatu elemen dalam array atau vektor yang diurutkan, atau untuk menemukan elemen berikutnya yang lebih besar dalam suatu himpunan atau peta. Berikut adalah beberapa contoh cara menggunakan fungsi upper_bound() di C++:

Contoh 1: Menggunakan Fungsi upper_bound() untuk Menemukan Posisi Elemen dalam Array yang Diurutkan

Berikut adalah contoh yang menggunakan fungsi upper_bound() untuk menemukan posisi elemen dalam array bilangan bulat yang diurutkan dan menampilkannya di layar:



#termasuk

#termasuk

menggunakan ruang nama std ;

ke dalam utama ( )

{

ke dalam Himpunan [ ] = { limabelas , 35 , Empat. Lima , 55 , 65 } ;

ke dalam A = ukuran dari ( Himpunan ) / ukuran dari ( Himpunan [ 0 ] ) ;

cout << 'Array berisi:' ;

untuk ( ke dalam Saya = 0 ; Saya < A ; Saya ++ )

cout << Himpunan [ Saya ] << ' ' ;

cout << ' \N ' ;

ke dalam B = Empat. Lima ; // mendeklarasikan dan menginisialisasi suatu nilai

ke dalam * P = batas_atas ( susunan, susunan + a, b ) ;

cout << 'Batas atas' << B << ' berada pada posisi : ' << ( P - Himpunan ) << ' \N ' ; // menampilkan posisi menggunakan aritmatika pointer

kembali 0 ;

}

Pertama, program mendefinisikan file header dan array yang diperlukan yang berisi angka dan kemudian menggunakan fungsi sizeof() untuk mendapatkan ukuran array. Selanjutnya perulangan for digunakan untuk menampilkan elemen-elemen array dan kemudian bilangan bulat dideklarasikan yang posisinya dalam array ditentukan menggunakan pointer dan ditampilkan dalam output:

Contoh 2: Menggunakan Fungsi upper_bound() untuk Menemukan Elemen Besar Berikutnya dalam suatu Himpunan

Berikut adalah contoh kode yang menggunakan fungsi upper_bound() untuk menemukan elemen berikutnya yang lebih besar dari nilai tertentu dalam kumpulan bilangan bulat dan menampilkannya di layar:

#termasuk

#termasuk

#termasuk

menggunakan ruang nama std ;

ke dalam utama ( )

{

mengatur < ke dalam > pada satu = { limabelas , 25 , 35 , Empat. Lima , 55 } ; // mendeklarasikan dan menginisialisasi sekumpulan bilangan bulat

cout << 'Nomor yang Diberikan:' ;

untuk ( mobil A : pada satu ) // menampilkan elemen himpunan menggunakan perulangan for berbasis rentang

cout << A << ' ' ;

cout << ' \N ' ;

ke dalam A = Empat. Lima ; // mendeklarasikan dan menginisialisasi suatu nilai

mobil dia = batas_atas ( pada satu. mulai ( ) , di satu. akhir ( ) , A ) ; // temukan batas atas x pada himpunan menggunakan upper_bound()

jika ( dia ! = pada satu. akhir ( ) ) // periksa apakah iteratornya valid

cout << 'Angka Yang Lebih Tinggi Berikutnya Dari' << A << ' adalah ' << * dia << ' \N ' ; // menampilkan elemen menggunakan operator dereferensi

kalau tidak

cout << 'Tidak ada Angka yang Lebih Tinggi dari' << A << ' \N ' ; // menampilkan pesan jika elemen tersebut tidak ditemukan

kembali 0 ;

}

Pertama, kode mendefinisikan file header yang diperlukan dan kemudian vektor dari lima elemen ditentukan, selanjutnya vektor ditampilkan menggunakan kata kunci auto karena secara otomatis dapat mengatur tipe data elemen. Selanjutnya dideklarasikan variabel bernilai 45 yang kemudian dibandingkan dengan vektor yang didefinisikan menggunakan fungsi upper_bound() dan selanjutnya menampilkan hasil perbandingan:

Kesimpulan

Fungsi upper_bound() adalah fungsi yang mengembalikan iterator yang menunjuk ke elemen pertama dalam rentang terurut yang lebih besar dari nilai tertentu. Untuk menemukan angka pertama dalam interval yang lebih besar atau sama dengan angka tertentu, gunakan fungsi upper_bound() di C++. Hal ini dapat berguna untuk tugas-tugas seperti menemukan angka tertinggi berikutnya dalam daftar atau menemukan elemen pertama dalam array yang diurutkan yang lebih besar dari ambang batas yang diberikan.