版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ProgramminginJavaMoreexamples,…蔡文能交通大學(xué)資訊工程學(xué)系tsaiwn@.twAgendaComputingfactorialLoopmethodRecursivemethodOtherRecursiveexamplesComputingprimesSievemethodSortinganarraySelectionSortInsertionSortBubbleSortQuickSortMergeSortList,ArrayList,GenerictypeComputingFactorialThefactorialofanintegeristheproductofthatnumberandallofthepositiveintegerssmallerthanit. - 0!=1 - 1!=1... - 5!=5*4*3*2*1=120- 6!=6*5*4*3*2*1=720... - 50!=
30414093201713378043612608166064768844377641568960512000000000000BigDecimal,BigIntegerFactorial--Iteration publicclassFactorial{ publicstaticlongfactorial(intn){ longfact=1; for(inti=2;i<=n;i++) //forLoop fact*=i; //shorthandforfact=fact*i; returnfact; } } publicclassComputingFactorial{ publicstaticvoidmain(Stringarg[]){ longa=Factorial.factorial(Integer.parseInt(arg[0])); System.out.println("Factorialof"+arg[0]+"="+a); }}InseparatefilesRecursion遞迴概念很久很久以前,這裡有一座山,山裡有一座廟,廟裡有個(gè)老和尚和小和尚,小和尚要老和尚說故事給他聽。老和尚就說:『很久很久以前,這裡有一座山,山裡友一座廟,廟裡有個(gè)老和尚和小和尚,小和尚要老和尚說故事給他聽。.....莊子與惠子游於濠梁之上。莊子曰:「鯈於出游從容,是魚之樂也?!够葑釉?『子非魚焉知魚之樂?』莊子曰:『子非我焉知我不知魚之樂?』惠子曰:『子非我焉知我不知你不知魚之樂?』莊子曰:『子非我焉知我不知你不知我知魚之樂?』惠子曰:『子非我焉知我不知你不知我不知你不知魚之樂?』莊子曰:『子非我焉知...!@#$%^&*?...Factorial–Recursion,inJava
/** *Thisclassshowsarecursivemethodtocomputefactorials.Thismethod *callsitselfrepeatedlybasedontheformula:n!=n*(n-1)! **/ publicclassFactorial2{ publicstaticlongfactorial(intn){ if(n==1)return1;
elsereturnn*factorial(n-1); } }
NFactorial(Recursive版)longfactorial(intn){if(n<0)return-factorial(-n);if(n==1||n==0)return1;returnn*factorial(n-1);}/*告訴我n-1階乘,我就給你n階乘*/#include<stdio.h>intmain(){printf("5!=%ld\n",factorial(5));}N階乘就是N乘以N-1階乘C語言版本歐幾里得的最大公約數(shù)輾轉(zhuǎn)相除法(recursive概念!)GCD(m,n)=GCD(n,m%n) 但如果n是0則答案為mlonggcd(longm,longn){if(n==0)returnm;returngcd(n,m%n);}如何寫成non-recursiveversion?最大公約數(shù)non-recursive版longgcd(longm,longn){intr;/*remainder*/while(n!=0){r=m%n;m=n;n=r;}returnm;}Recursive也可以很有趣(1/3)FibonacciSeries:(費(fèi)氏數(shù)列)一開始有一對(duì)兔子小兔子隔一個(gè)月可以長大為成兔每對(duì)成兔每隔一個(gè)月可生出一對(duì)兔子假設(shè)兔子永遠(yuǎn)不死,問第n個(gè)月時(shí)有幾對(duì)兔子?1,1,2,3,5,8,13,21,34,55,89,144,.fib(n)01234567891011=n
Recursive也可以很有趣(2/3)longfib(intn){if(n<0)return0;if(n==1||n==0)return1;returnfib(n-1)+fib(n-2);}/*給我n我就告訴你第n個(gè)月時(shí)有幾對(duì)兔子*//*第n個(gè)月兔子數(shù)=第n-1個(gè)月兔子+第n-2個(gè)月兔子*//*但是,最開始兩個(gè)月例外!*/Recursive也可以很有趣(3/3)FibonacciSeries(費(fèi)氏數(shù)列):1,1,2,3,5,8,13,21,34,55,89,144,…34/55=55/89=89/144=0.618黃金分割比:)神奇的費(fèi)氏數(shù)列:任何事物接近這些數(shù)字會(huì)有變化
請(qǐng)看..可怕的
巧合:!?三重魔力...民國34年臺(tái)灣光復(fù),民國89年變天
國民黨從日本手上搶回臺(tái)灣執(zhí)政剛好
55年!問題與思考(Recursion)寫出non-recursive版的Fibonaccifunction?考慮小兔子隔兩個(gè)月可以長大為成兔?考慮成兔的懷孕期是兩個(gè)月?其他Recursive問題Recursive版的binarysearchQuicksortHanoitowerproblem…Factorial–cacheansinaTable publicclassFactorial3{ //createanarraytocachevalues0!Through20! staticlong[]table=newlong[21]; static{ans[0]=1;}//factorialof0is1 staticintlast=0; publicstaticlongfactorial(intn){ if(n<=last)returnans[n];longtmp=ans[last];intk=last;while(k<n){tmp=(k+1)*tmp;/*(k+1)!*/if(last<20){++last;ans[last]=tmp;}++k; }/*while*/returntmp; }} Cache唸作cashComputingPrimes(1/3)Findingthelargestprimenumbersmallerthanaspecifiedinteger:
Inputintegerm,findp
msuchthatpisaprimeandifthereisprimep’>pthenp’mustbelargerthanm.Findingallprimenumbersthatsmallerthanaspecifiedinteger?
1243576891214151618201011131719ComputingPrimes(2/3)Algorithm mainidea:findprimesbyeliminatingmultiplesoftheformkj,wherejisaprimesmallerthansquare-root(m)andkisanintegersuchthatkj
m.......prime2ijsquare-root(m)
234.........234234222iiijjjComputingPrimes(3/3)Findingallprimenumbersthatsmallerthanaspecifiedinteger?
1234567891011121314151617181920Example:FindPrimes(1/2)Importjava.lang.*;publicclassSieve{ publicstaticvoidmain(String[]args){ intmax=100;//Assignadefaultvalue try{max=Integer.parseInt(arg[0]);} catch(Exceptione){}//Silentlyignoreexceptions.//Createanarraythatspecifieswhethereachnumberisprimeornot. Boolean[]isprime=newboolean[max+1];//Assumethatallnumbersareprimes,untilprovenotherwise. for(inti=0;<=max;i++)isprime[i]=true;//Weknowthatthat0and1arenotprime.Makeanoteofit. isprime[0]=isprime[1]=false;Example:FindPrimes(2/2)//Tocomputeallprimeslessthanmax,weneedtoruleoutmultiplesofall//integerslessthanthesquarerootofmax. intn=(int)Math.ceil(Math.sqrt(max)); for(inti=0;i<=n;i++){ if(isprime[i]){intk=2; for(intj=k*i;j<=max;j=(k++)*i) isprime[j]=false;} } intlargest; for(largest=max;!sprime[largest];largest--);//emptyloopbody System.out.println("Thelargestprimelessthanorequalto"+max+"is" +largest);}} SortingNumbersSorting:
Inputnnumbers,sortthemsuchthatthenumbersareorderedincreasingly. 39165482107 12345678910
Sel濱ect碑ion瓦So軌rt無(1/少4)As企imp鞭le涂sor元tin妻ga油lgo漆rit曬hmPur掠pos責(zé)e:Inpu藥t:a勿nar轟rayAcont歪aini婆ngninte頸gers演.Outp的ut:派sort稈eda灣rray知.1.i:=2習(xí);2.淋Fin寧dt割he靈lea沈st使ele虜men齒tafro米mA(i)t卷oA(n);3. I川faisl艷ess皇thanA(i-1),清e(cuò)xch裙angeA(i-1)揉anda;4.i:=喪i+1;存if勝(i<=繪n)托g(shù)ot蓋os驢tep殿(2濱).Sele指ctio圾nSo扣rt(返2/4)1st角st括ep:徒3摘9外1拳6捧5德4希8務(wù)2槽1加0羊72nd脫st賽ep:融1沉9塑3緒6冊(cè)5轎4鋒8躬2當(dāng)10寫71摘2遵3和6枝5延4崗8源9原10息7….單..swapswapSel尖ect爐ion忠So張rt案(3/探4)Sor恐tin炕gp旁rog劫ram春:publ賺icc機(jī)lass文Sel照Sort籠{pub糧lic勾st往ati衛(wèi)cv非oid序so矛rt(濁dou定ble炎[]智nu淺ms)乘{(lán)for(傍int僑i=企0;獵i<決nums茶.len屋gth;局i++嗚){int準(zhǔn)mi忠n=鳥i慶+1;for捧(int侍j=冠i+2猾;j糧<nu盟ms.l齊engt棗h;j的++)執(zhí){if(晶nums掙[j]儉<nu弦ms[m駱in])片min樸=j壁;}if(突nums繞[i]育>nu班ms[m折in])體{doub運(yùn)let惠mp;tmp水=墻num氏s[i江];怕num緊s[i捎]=認(rèn)nu還ms[棄min稈];搶num催s[m拾in]盞=政tmp璃;}}}}Sele把ctio畢nSo敲rt(踏4/4)Ins仇epar華ate置file蔬:publ旺icc鍵lass寺Sor申tNum店ber涌{publ寸ics伏tati期cvo概idm仗ain呼(Str尾ing[板]a爆rgs)民{doub嘴le[證]nu膠ms=撓new恩dou辜ble[買10];鴉//照Crea違tea兆nar銹ray時(shí)toh假old括numb亭ersfor除(in走ti寶=植0;英i<巡壽nu撐ms.偽len疑gth永;i歪++)錦//G逗ene也rat沫er豈and披om立num鵝ber帖snums通[i]基=Math你.ran泰dom(恢)*1悉00;SelS畝ort.逗sort用(num洞s);敬//So單rtt劣hemfor泊(int夸j=饑0;待j<姨nums鋼.len虎gth;頭j++逐)//崇Prin挽tth紡emo懇utSys報(bào)tem劣.ou配t.p揪rin歲tln石(nu寄ms才[j]紡);}}Mat波h.r焰and鉤om(嘗)裁:蠢se符en延ext瘦sl移ideUniformrandom[0,1)NormalDistributionRandomnumberInse乳rtio樓nSo檢rtpub放lic牲c(diǎn)l聽ass嘉In設(shè)sSo堡rt女{pub俘lic允st憤ati似cv岔oid仗so憑rt(教dou恢ble梯[]貧nu敘ms)紛{for虜(in削ti賭=逃1;蓋i偶<n熊ums端.le孕ngt首h;吸i++君)滑{doub濁let凈mp=潛num共s[i]鉛;含/*we基wan藝tt牢op瘋ut旁thi畝si腦np屈rop誰er彩pos互iti烏on*/k=鑒i泛–1撤;whil挽e((社k>=0秧)&&徐num詞s[k]臂>t般mp)慌{末/*smal浪ler狡than荒me*/光n遷ums[班k+1]故=姿nums配[k])臘;灶/*胡move良it以down吐*/--k;}num剩s[k孟+1]淋=杠tmp淹;/講*copy借it局into丘cor炮rect統(tǒng)po稀siti末on*/}}}Test濫the告Ins驕erti貴onS候ortIns縫epar卷ate棚file姑as類prev靜ious頃exa傅mple伐(Se據(jù)lect蜓ion爛sort費(fèi)):publ馳icc叫l(wèi)ass酒Sor殿tNum虎ber儀{publ輔ics怠tati筐cvo禮idm斤ain肺(Str墳ing[漏]a吃rgs)出{doub世le[濱]nu聚ms=護(hù)new溜dou木ble[貿(mào)10];姻//鞏Crea硬tea播nar趙ray比toh宋old想numb惜ersfor偏(in擱ti系=雹0;身i<展nu揀ms.險(xiǎn)len鳴gth澡;i微++)礙//G胳ene行rat壺er形and睡om圓num獎(jiǎng)ber竊snums簽[i]礦=Math梅.ran孝dom(毀)*1敲00;Ins員Sor犯t.s邪ort珠(nu夾ms)脹; /酒/So召rt集the席mu瓣sin令gi就nse叔rti悲on享sor擇tfor渴(i額nt躍j=產(chǎn)0;防j怠<n品ums煌.le調(diào)ngt包h;鉗j++障)/伴/Pr帶int務(wù)th假em萌outSyst戴em.o畫ut.p刃rint圍ln(n頌ums箱[j]駐);}}Bubb仔l(wèi)eS逃ortpub據(jù)lic蘆cl寺ass啊Bu穗bSo載rt篇{publ太ics亂tati班cvo認(rèn)ids狡ort(代doub練le[燭]nu名ms)梁{for(振int唱i=此num膛s.le縫ngth擁-2;花i>=米0;--i){int職fl句ag手=0典;群/考*Assu兩men奮oex項(xiàng)chan悔ge*/for(豈k=0;碗k<抖=i;術(shù)++k舒){椅/*臺(tái)walk初thr透ough謝all僚eve歪ryp撐ass倍*/if(斜num純s[k]告>n晃ums[僻k+1]駝)腳{謀/*inc帶orr賄ect汗or鄙der*/doub看let定mp=n干ums[既k];職num停s[k]烘=num津s[k+崗1];難nums赴[k+1護(hù)]=tm鉤p;++fl隸ag;}}if(f灣lag滾==0森)br辮eak;京/*疼non年eed戶tod裹one氏xtp瓦ass定*/}}}Alg菜ori煉thmqui現(xiàn)ck_揭sor輛t(ar碼rayA,from短,to朝)Inp勿ut:蒼fr啞om退-p飼oin瓣ter絞to相th惜es戒tar腹tin康gp盯osi渠tio光no灰fa霉rra活yAto-刊poi鎖nter堆to烏the悶end厘posi很tion饑of晃arra替yAOutp截ut:書sort磨eda償rray華:A’1.睜Cho牛ose圈an棒yo臨ne頃ele謀men影ta伶st席he伙piv灘ot;2. F績ind泛the債firs洋tel睡emen途ta=孔A[i]津larg露ert技han姨ore檢qual倡topiv射otfromA[fro蛾m]t輩oA[to六];3. F肉ind冊(cè)the淋firs飲tel部emen槳tb=哨A[j]箱sm釀all嫌er互tha墓no嫩re輛qua丈lt內(nèi)opivo掏tfromA[to]李toA[fr介om]抗;4.住If屈i<翼j軋the描ne跟xch況ang扔eaandb;5. R帥epea注tst亦epf林rom牢2to展4u旬ntil覆j<誼=i憂;6.蛋If這fro集m<竊j敲the塊nr傘ecu云rsi援ve豈cal汪lquic摧k_so咬rt(A,from峽,j)坐;7. I棒fi始<to枝the凍nre彩curs慰ive服callquic輕k_so楚rt(A,i,黨to);Qui忠ck繭Sor呼t(孔1/6涂)Quic抹kso停rtmai老ni遺dea淘:1st我step椅: 3很1侮654毛8裳10惹72nd跟st渠ep:恢3誘2身158欲9亦10淺73rd方step飾:3哭2曠1撓456逮8顆9等10替7Choose5aspivotfromto2964Smal揚(yáng)ler御than亞any帆int尺egerrigh估tto駕5gre欣ate粗rt網(wǎng)han附an刊yi鉛nte否gerleft排to壓5ijQuic超kSo怪rt(靜2/6)Quic虹kso鄉(xiāng)豐rt4th伐st摧ep:象2嚴(yán)4湖5殊6桌1能0 95th糞st箭ep:述1魄2擺3翠4幼5pivotfro態(tài)mto31875高6設(shè)7酷8還1靠0但96th青st稠ep:piv不otfro方mto7爐8予1帳0理97th磨st膛ep:9霞108th荒step時(shí):Quic團(tuán)kSo棍rt(兄3/6)publ碎icc啦lass尿Qui釘ckSo沸rter悔{publ蹦ics賄tati參cvo雙ids踐ort笨(int澤[]炎a,i爛ntf肺rom,仍int攀to)摔{if波((a布==冊(cè)nu悄ll)現(xiàn)||令(a納.le館ngt附h<身2)墳)r霸etu核rn;int彎i=帆from唉,j英=to霸;int批pi孩vot箭=程a[(柄fro弊m+束to盾)/2是];do溫{whi狼le暫((i學(xué)<罩to)善&&紡(a得[i]速<掘piv禾ot)朋)亮i++筐;whil喬e((昂j>限from居)&&居(a[雁j]>器=pi俊vot)債)j跨--;if(聲i<覺j){勇int額tmp裹=a[鵝i];汪a[i鐮]=歇a[j]宴;a[進(jìn)j]=翅t(yī)mp依;}i++;睬j--逗;}wh誘ile篇(i炮<=癢j)吐;if目(fr桌om缸<j炒)s肢ort江(a,業(yè)fr裙om,航j(luò))牽;if(槳i<暗to)交sort諸(a,齊i,t侄o);塌}}Quic獎(jiǎng)kSo葡rt(敬4/6)143,4泊,6,疲1,福10,攜9,5嬌,20,19續(xù),141,1新2,2替,15圾,21紡,13由,18直,17獨(dú),8,1腹6,3,4踢,6,威1,鍵10,教9,5后,8,19,1,1販2,2誓,15屬,21艷,13,18疫,17及,,16,3,4贏,6,綁1,腔10,鎖9,5六,8,13,1,1嬌2,2仇,15,21贏,19,1欲8,莊17,中20洪,1鳥6,ij3,4溜,6,糾1,章10,游9,5滔,8,鍛13,1,窗12,倉2ijQui態(tài)ck駁Sor劑t(殿5/6請(qǐng))3,殲4,刊6,肉1,視10,啦9,袖5,遠(yuǎn)20余,1深9,14,12,夫2,1唐5,2陰1,1膊3,1扔8,1貌7,8大,16知,1ji20,14ij3,土4,孩6,閉1,軌10,新9,碧5,付8,沃13,1,受12,密2,14,備21梅,1峽9,較18,主17浮,2便0,俊16,1514publ架icc址lass蘋BQS挎orte堵r{publ制ics燙tati左cvo闖ids翅ort勉(int程[]臥a,i耐ntf娃r(nóng)om,侵int再to)謙{if(周(a=問=nu沉ll)邊||(甲a.le籮ngth炎<2留)||系fro捐m>=逢to)賽ret估urn;int提k熟=(撞fro錢m+傳to英)/2電;i除nt報(bào)tmp富=a慨[to速];奴a[災(zāi)to]同=忍a[k賄];摸a[k綱]=循tm劉p;int陶pi耕vot遣=偏a[t悉o];輪i耍nt邊i=征fr貍om,j=科to-1咬;whil高e(i浩<j鋼){whi營le師((i哨<府j)延&&福(a[迎i]錄<p慮ivo變t))趙i涂++;whil竊e((君i<逆j)&處&(a銜[j]婆>=p筋ivot暴))辯j--;if劫(i擴(kuò)<j男){朝tm麗p=疑a[i國];躺a[志i]劣=a下[j]使;a腸[j]迅=睡tmp失;}};tmp克=a到[i]盯;a偵[i過]=恨a[掃to]缸;a培[to犁]=飯tm溪p;if(夾from踏<i作-1)奶sort系(a,村from樂,i-壯1);if(雄i<教to)略sort旱(a,蛋i+1,皆to)紀(jì);
}}Quic菌kSo攪rt(駛6/6)Merg傷ing創(chuàng)mean探sth儲(chǔ)eco墊mbin暑atio嚷nof彼two謀or潮more窮ord避ered退seq遵uenc嘴ein撫t(yī)oas排ing挺le施seq爪uen棍ce.睜Fo祖re艱xam幫ple紅,c睡an夏mer寄ge邀two抖se爽que默nce蠅s:猛503痕,7峽03,趟76搏5and屑087,苗512馬,67生7to敗obt丑ain右ase撈quen芽ce:攪087,他503敢,51寧2,6關(guān)77,棉703,芹765夢(mèng).Asi孩mple祥way隔to丈acco腸mpli菌sht嘴his申ist臨oco辱mpar葬eth煎e(cuò)tw鍋osm嶄alle鍬sti并tems糖,outp錘utt計(jì)hes警mall色est,饅and肢the造nre倦peat項(xiàng)the積sam甲epr張oces樸s.503井703盜765087書51何2 6吊77087503饑70彩3 7黃65512正67若7087嫩503703分76科5512寺677Merg忙eSo盆rt(譯1/3)Alg糞ori顛thmMer濫ge(s1,梯s2)Inp擇ut:框tw濁os傘equ慘enc沾es:炕s1校-撲x1x2涉...赤xmand剝s2濟(jì)-寄y1y2支...騙ynOut治put故:a荒so俗rte墳ds稻equ系enc脖e:懶z1z口2.吩..鹽zm+n.1.[i鞋niti賺aliz舍e]i:=則1,j:=1異,k:=1侍;2.[殲fin女ds真mal籍ler退] i寫fxiyjgot著os眾tep咽3,型ot哪her諒wis尺eg鑄oto辱st接ep握5;3.[o矮utpu覽txi]zk.:=xi,k:=k+1,i:=i+1.攜Ifim,g竄oto播st梨ep徒2;4.[辨tra疑nsm絮ityj.戀..茶yn]zk,...,喇zm+n:=旦yj,...,停yn.T紋erm扮ina饑te近the孕al煩gor晝ith爬m(xù);5.[o園utpu身tyj]zk.:=成yj,k:=k+1,j:=j+1.山Ifjn,go膜tos鹿tep威2;6.[t突rans槳mitxi容...啄肺xm]zk,...,鑒zm+n:=xi,...,緊xm.T柜erm氣ina摔te獨(dú)the外al趟gor得ith蕩m;Merg歐eSo潮rt(腔2/3)Algo翻rith菌mMerg郊e-so詳rtin奪g(s)Inp唉ut:微a佩seq對(duì)uen悶ces本s劈燕=<兼x1,...,誤xm>Out船put垮:a耍so淡rte受ds撞equ巷enc勤e.1.侵If浩|s|戲=嶺1,板the爆nr援etu彈rn肯s;2.k:=m/2;3.流s1壘:=脆Mer光ge-夜sor奏tin暴g(x1,...,榮xk);4.s它2:=畜Mer寸ge-s饑orti姨ng(xk+1,...雜,xm);5.r擺etur塑n(Merg組e(s1,拳s2)鐘);Merg悠eSo痛rt(章3/3)Tim漁ec店omp致lex頌ity重of穗Me曬rge晉sor謀tTake妹sro用ughl派yn·log2ncom尚par賊iso么ns.Wit隔hou葉tt眼he絨sho伯rtc院ut,否th貝ere稀is混no魄be弦st置or末wor溫st甜cas受e.Wit臥ht譯he砍opt簡ion既al丑sho材rtc似ut,恰th堪eb似est踢ca富se癥is但whe楊nt殖he隙arr宣ay鄉(xiāng)豐is科alr服ead序ys那ort爭ed:鐘ta梢kes餓on互ly(n-1)com日par梨iso旦ns.Bina墨ryS襲earc柴h(1辟/5)Wor悟ks損for頃an瓣ar匹ray封of撇nu謊mbe鍋rs駕or露obj般ect嶄st概hat材ca沙nb建ec開omp襪are漸da振nd銹are尼ar倆ran縱ged舒in套as韻cen濁din鉆g(杯or耍des群cen遵din獎(jiǎng)g)胞ord六er.Ave梢ryf慎ast帝meth馬od:息only銅20犬comp郊aris延ons胡are退need稅edf嗎ora傷nar始ray翼of1鳴,000牙,000犯ele槳ment多s;(窩30c判ompa活riso涂nsc牽anh鋤andl徒e1,或000,善000,陳000擺elem事ents熟;et葡c.)Bina須ryS伯earc滑h(2克/5)Mai臨ni榜dea劈燕:“熄div歌ide徑an釀dc婦onq獨(dú)uer藥”:com突par鳥et弟he嘉tar釀get芝va套lue囑to失th伸em翁idd姨le制ele壇men延t;ife克qual毯,al軟lse殿tif保sma軟lle圍r,惑app省ly財(cái)bin箏ary窗se啞arc寺ht榆ot隸he葛lef斬th雜alf借;ifl翅arge繳r,a植pply宋bin賴ary爺sear壤cht陶oth退eri麻ght古half臘....薯MI涉MN衡MO床MS交MT熟NC哈ND耽..坐....弱MI石MN市MO耐MS卡MT請(qǐng)NC恐ND柏..鋸.NJvNJBina桃ryS撓earc惠h(3浸/5)Rec籌urs定ive末im釋ple添men周tat略ion耀:pub趣lic歷in限tb稀ina牢ryS灰ear震ch睬(in廊ta躬rr狂[]等,i毫nt腦val宗ue,枕in受tl臟eft盞,i鳳nt止rig斑h(yuǎn)t){int辣mi是ddl嚼e=負(fù)(l洪eft傍+祥rig祖ht)勺/茶2;if汗(va匪lue喚==杏ar怕r[樓mid求dle海])ret滲urn菜mi套ddl觀e;els熔ei值f(捉va茶lue役<垮arr拾[mi界ddl港e]鐘&&籃lef趣t<滔mi劣ddl餓e)ret悶urn洽bi襖nar陰ySe付arc伐h(立arr窩,v臥alu叛e,槳lef稍t,結(jié)mid奸dle-1);els椅ei距f(手va斬lue渾>謊arr獸[mi高ddl乘e]磨&&辨m森idd逝le貸<r階igh宵t)retu是rnb極inar種ySea哪rch福(arr訂,va襪lue,棕mid搖dle摧+1,任rig打ht)金;elseretu捎rn-川1;戚//N瞧otf擊ound}Bin寇ary艷Se召arc率h(蹄4/5棍)Ite庫rat巾ive齒im市ple摘men液tat嫩ion役:publ史ici職ntb谷inar亮ySea擊rch豬(int聾arr傲[]獅,in攻tva皆lue,糠int堡lef貼t,i公ntr月ight億){whi慎le主(le鉆ft恒<=俯rig律ht){int剩midd蘇le=猾(le甘ft+唉rig植ht)眼/2;if崗(v膽alu獨(dú)e=袋=a朗rr沉[mi鑒ddl蛇e]軋)ret途urn花mi鐮ddl年e;els堡ei舊f(罰va密lue左<霜arr受[mi址ddl固e]望)rig艦ht賠=m紅idd福le-1;els限e/捏*i避f(恢va焦lue栽>住arr隆[mi過ddl萬e]咱)羞*/left冠=m鼻iddl貍e+藍(lán)1;}ret醒urn輔-1外;帆//冤Not弱fo嗚und}Bin聾ary氧Se倚arc強(qiáng)h(術(shù)5/5依)The扒aver造age色numb送ero上fco撈mpar蜜ison砍sis訪rou祥ghlylog2nThe本wors牛t-ca隔sei符slog2(n+1)roun殊ded孫upt染oan企int教eger急(e.媽g.2榜forn=3向,3罷fo賣rn=7,本4f槍orn=1可5,檢etc痛.)jav死a.u氏til針.Ar即ray待sProv鳴idesstat珠icmeth體ods姐for定deal喪ing置with澆arr已a(bǔ)ys.Work麻sfo摸rar攀rays局of載numb拿ers,Str梁ing瘡s,(昂and籌“c妄omp分ara破ble這”O(jiān)bje前cts).Met掉hod茄s:int恐po考s=掉Ar啟ray蠢s.bina問rySe掃arch(ar廟r,熔ta贈(zèng)rge蛇t);Arra凳ys.sor鴉t(arr韻);Arra科ys.sort(arr穗,fr年om,唱to);Arra蹈ys.fil專l(ar麥r,val梢ue);比//袍fil笨ls彎arr景wi頃th訓(xùn)ag茶ive壁nv濟(jì)alu辱eArra妻ys.fil護(hù)l(arr療,fr蜓om,病to,val泳ue);jav吉a.u朱til價(jià).Ra沾ndo揚(yáng)m(瞎1/2留)Benc沃hmar應(yīng)ksuse流st暑hejav處a.u儀til貴.Ra政ndo蠢m(xù)cla街ss意—a籍mo科re玻con凈tro明lle傲dw墨ay拴to蓄gen淺era璃te賤ran付dom喜nu兵mbe氣rs.Cons狼truc沙tors曉:If販we粱set節(jié)th蘆es宜ame層“s餡eed證,”容we聚getthe眼same“ran調(diào)dom”色seq余uenc絹e.Ran馬dom弊ge微ner療ato頓r=面ne連wR織and侮om(招);Rand明omg響ener代ator刷2=嶺new晚Rand致om(s柴eed)岔;Defa程ult街“see浸d”:Sys植tem旁.cu框rre拜ntT怨ime助Mil匹lis()long滴see星d;java滿.uti姿l.Ra辨ndom田(2/鋒2)Meth濕ods:int硬k=嗚gene枯rato塊r.next全I(xiàn)nt莫();int班k=咽gene質(zhì)rato女r.next骨Int瘡(n);dou找ble駕x輝=g跑ene蜓rat友or.next勢Doub橫le(儲(chǔ));All紹232poss融ibleintvalu怖esa振rep遍rodu建ced打with堅(jiān)(ap斃prox欺imat胸ely)矩equ悲alp重roba晶bili辣ty0k<n0x<1jav碼a.u娛til記.Li機(jī)stInt待erf慈aceTheListlibr院ary板inte濱rfac含ede沒scri柴bes侍ali側(cè)sto毅fob擔(dān)ject居sin桑abs闊trac低tte方rmsIna幻玉lis打t,o度bjec霉tsa鍛rea搬rran煉ged速ins詠eque舒nceobj0,ob搞j1,..暖.,o替bjn-1InJ斷ava,突al見ist領(lǐng)hold憶srefe喂renc寬estoo膀bjec煌tsAl糖ist捐ca海nc悔ont壯a(bǔ)in感du扁pli葡cat凳eo傾bje陜cts(bo趁thobj1脂.equ促als(扯obj2)andobj慮1=僚=o坊bj2)ListMeth內(nèi)ods步(aS驅(qū)ubse球t)intsize();boo下lea耍nisE月mpt蘇y();boo師lea辣nadd(Obj輩ect緒obj)減;voi兇dadd(in拆ti丹,O預(yù)bje販ct風(fēng)obj優(yōu));Obj堅(jiān)ectset(in噴ti河,O蜘bje掠ct府obj婆);Obje懲ctget(in丘ti提);Obje趙ctrem纖ove(int講i);boo頑lea紀(jì)ncont參ains(Obj負(fù)ect始o(jì)bj)森;intind碰exO注f(Obj犁ect拿obj)信;ret鋼urn然strueinse全rtsobjast拆hei-th識(shí)va塘lue閘;imus救tb繩ef踢rom舉0色tosize鞭()imust準(zhǔn)be治from悟0t牲osiz如e()-1useequa的lsto份com駁par宿eo產(chǎn)bje謊ctsjava滾.uti算l.Ar陷rayL壤ist挖(1/6舒)Impl垮e(cuò)men姻tsLis侮tusin漁gan送arr臟ayKeep個(gè)str毛ack全oft作hel歲istcapa診city(th炕el瓜eng掩th納of恭the近al時(shí)loc戚ate扯da剪rra顏y)芬and知li科stsize(th葉en固umb捷er強(qiáng)of轉(zhuǎn)ele屬men炒ts勺cur虹ren鴨tly源in簽th惰el負(fù)ist透)"Cat添""Hat決""Ba侵t"capa懇citysizeArra馳yLis癥t(2像/6)Aut墓oma孕tic柜all析yi移ncr繡eas聰es鄭(do獄ubl技es)煤th休ec巨apa雷cit誼yw莫hen震th功el轉(zhuǎn)ist壞ru威ns米o(hù)ut續(xù)of身sp算ace沾;a取llo鞏cat頓es閑ab點(diǎn)igg變er蘋arr揚(yáng)ay額and盾co遺pie烏sa禍ll懶the嗽va眾lue便si叔nto歐itget鬧(i)andset鴨(i,益ob梢j)are趴effi越cien遭tbe背caus注ean鋤arr山ayp享rovi謎des蠶rand校oma悅cces床sto濤its浙ele勢ment芽sThr雷o(hù)wsInd扮exO安utO悟fBo垮und坡sEx懲cep絮tio須nwhe旦ni<燥0orisiz咽e()Arr錯(cuò)ayL它ist血(3啄/6)Arr冶ayL忠isthol胳dsobje透cts(of邪an突yt條ype雙)If左you箱ne炮ed帖to氧putintsordoub軟lesin啊toa晴lis雄t,u拜sea雞sta銅ndar鬧dJa適vaa材rray難or戚conv漆ert蝦them龜int禁oInte韻gerorDou初bleobje丸ctsYou顫have夫to伶reme出mber接wha原tty舞pes炸ofo誰bjec短tsy穴our稻put胖into漢the斥lis廣tan穴dma被yne仿edt嚷oca糾sta宰
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人工耳蝸行業(yè)政策分析:人工耳蝸行業(yè)標(biāo)準(zhǔn)推動(dòng)人工耳蝸技術(shù)普及
- 2025年個(gè)人三項(xiàng)機(jī)制學(xué)習(xí)心得體會(huì)模版(3篇)
- 課題申報(bào)參考:緊密型醫(yī)聯(lián)體視角下大灣區(qū)老年中醫(yī)藥服務(wù)評(píng)價(jià)體系構(gòu)建與實(shí)證研究
- 二零二五年度集團(tuán)高層管理人員任期制競聘與續(xù)聘合同6篇
- 2025版小時(shí)工定期雇傭合同范本3篇
- 2025版土地征收及安置補(bǔ)償中介服務(wù)合同3篇
- 全新二零二五年度房地產(chǎn)銷售代理合同3篇
- 二零二五版企業(yè)內(nèi)部會(huì)計(jì)檔案安全保密服務(wù)協(xié)議3篇
- 2025年度文化創(chuàng)意產(chǎn)品開發(fā)與銷售合作協(xié)議范本4篇
- 二零二五年度廚具品牌設(shè)計(jì)創(chuàng)新合同4篇
- 圖像識(shí)別領(lǐng)域自適應(yīng)技術(shù)-洞察分析
- 個(gè)體戶店鋪?zhàn)赓U合同
- 禮盒業(yè)務(wù)銷售方案
- 二十屆三中全會(huì)精神學(xué)習(xí)試題及答案(100題)
- 小學(xué)五年級(jí)英語閱讀理解(帶答案)
- 仁愛版初中英語單詞(按字母順序排版)
- (正式版)YS∕T 5040-2024 有色金屬礦山工程項(xiàng)目可行性研究報(bào)告編制標(biāo)準(zhǔn)
- 【奧運(yùn)會(huì)獎(jiǎng)牌榜預(yù)測建模實(shí)證探析12000字(論文)】
- 危險(xiǎn)廢物貯存?zhèn)}庫建設(shè)標(biāo)準(zhǔn)
- 多層工業(yè)廠房主體結(jié)構(gòu)施工方案鋼筋混凝土結(jié)構(gòu)
- 救生艇筏、救助艇基本知識(shí)課件
評(píng)論
0/150
提交評(píng)論