stl upper bound函式實現

2021-05-23 01:28:11 字數 386 閱讀 3755

寫了乙個upper_bound的實現。其中遞迴使用二分法求解最上界,雖然寫的完全不像stl的風格,但是練手還是可以的。

如果原陣列中沒有存在那個元素,就根本沒有呼叫那個遞迴程式,遞迴只有在出現多個此元素時才會呼叫。另外中間遞迴呼叫段地方還可以改寫為:

這樣寫完後寫一下測試**,順便wrap一層upper_bound:

如果希望別人不呼叫upperbound而只呼叫upper_bound,可以使用static 關鍵字, 將upperbound限制在只在本檔案中使用。別人呼叫就只能呼叫upper_bound()函式。不過stl的教學原始碼比我這精簡的多,根本無須使用遞迴。真正的stl原始碼變數名稱會使用下劃線__作為起始。

這裡的advance()函式定義類似:

最後把主函式貼上做結:

stl upper bound函式實現

寫了乙個upper bound的實現。其中遞迴使用二分法求解最上界,雖然寫的完全不像stl的風格,但是練手還是可以的。include include include includeusing namespace std int upperbound int a,int start,int end c...

函式基礎 匿名函式,函式,箭頭函式,立即執行函式

doctype html html lang en head meta charset utf 8 meta name viewport content width device width,initial scale 1.0 title document title head body body ...

函式 常見函式

def fib n if n 1 return 1if n 2 return 1return fib n 1 fib n 2 def hannuo n,a,b,c n 表示有n個盤子 a 代表第乙個塔,開始的塔 b 代表第二個塔,過渡塔 c 代表第三個塔,目標塔 d.在 中n 2,這個分支可以不要,...