PAT刷題過程中用到的algorithm 函數庫

1.lower_bound()  二分查找   (1044)

  •  功能:函數lower_bound()在first和last中的前閉後開區間進行二分查找,返回大於或等於val的第一個元素位置。如果所有元素都小於val,則返回last的位置.注意:如果所有元素都小於val,則返回last的位置,且last的位置是越界的!
  • 關於前閉後開:想要使用二分法查找某個閉合區間[a,b],如果使用lower_bound()函數,那麼一定要注意,最後要加1,           lower_bound(a,b+1,x) 

2.upper_bound() 二分查找

  • 功能:函數upper_bound()返回的在前閉後開區間查找的關鍵字的上界,返回大於val的第一個元素位置

    注意:返回查找元素的最後一個可安插位置,也就是“元素值>查找值”的第一個元素的位置。同樣,如果val大於數組中全部元素,返回的是last。(注意:數組下標越界)

  • 注意點和上面的lower_bound()是一樣的

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章