-- This module provides a generic exponential search algorithm.localcheckType=require('libraryUtil').checkTypelocalfloor=math.floorlocalfunctionmidPoint(lower,upper)returnfloor(lower+(upper-lower)/2)endlocalfunctionsearch(testFunc,i,lower,upper)iftestFunc(i)thenifi+1==upperthenreturniendlower=iifuppertheni=midPoint(lower,upper)elsei=i*2endreturnsearch(testFunc,i,lower,upper)elseupper=ii=midPoint(lower,upper)returnsearch(testFunc,i,lower,upper)endendreturnfunction(testFunc,init)checkType('Exponential search',1,testFunc,'function')checkType('Exponential search',2,init,'number',true)ifinitand(init<1orinit~=floor(init)orinit==math.huge)thenerror(string.format("invalid init value '%s' detected in argument #2 to ".."'Exponential search' (init value must be a positive integer)",tostring(init)),2)endinit=initor2ifnottestFunc(1)thenreturnnilendreturnsearch(testFunc,init,1,nil)end
พฤษภาคม 10, 2022
มอด, exponential, search, อการใช, งานมอด, สร, าง, ณอาจจะต, องการสร, างค, อการใช, งานของมอด, ลน, เข, ยนสามารถทำการทดลองได, กระบะทราย, สร, าง, ดลอก, และช, ดทดสอบ, สร, าง, ของมอด, ลน, โปรดเพ, มหมวดหม, ไปท, หน, าย, อย, หน, าย, อยของมอด, ลน, this, module, provides,. khumuxkarichnganmxdul srang khunxaccatxngkarsrangkhumuxkarichngankhxngmxdulniphuekhiynsamarththakarthdlxngidthikrabathray srang khdlxk aelachudthdsxb srang khxngmxdulnioprdephimhmwdhmuipthihnayxy doc hnayxykhxngmxdulni This module provides a generic exponential search algorithm local checkType require libraryUtil checkType local floor math floor local function midPoint lower upper return floor lower upper lower 2 end local function search testFunc i lower upper if testFunc i then if i 1 upper then return i end lower i if upper then i midPoint lower upper else i i 2 end return search testFunc i lower upper else upper i i midPoint lower upper return search testFunc i lower upper end end return function testFunc init checkType Exponential search 1 testFunc function checkType Exponential search 2 init number true if init and init lt 1 or init floor init or init math huge then error string format invalid init value s detected in argument 2 to Exponential search init value must be a positive integer tostring init 2 end init init or 2 if not testFunc 1 then return nil end return search testFunc init 1 nil end ekhathungcak https th wikipedia org w index php title mxdul Exponential search amp oldid 8987334, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,