C#二分查找算法實(shí)例分析
更新時(shí)間:2015年04月27日 11:54:14 作者:lele
這篇文章主要介紹了C#二分查找算法,實(shí)例分析了C#二分查找的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了C#二分查找算法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
// input array is assumed to be sorted public int BinarySearch(int[] arr, int x) { if (arr.Length == 0) return -1; int mid = arr.Length / 2; if (arr[mid] == x) return mid; if (x < arr[mid]) return BinarySearch(GetSubArray(arr,0,mid-1),x); else { int _indexFound = BinarySearch(GetSubArray(arr,mid+1,arr.Length-1),x); if (_indexFound == -1) return -1; else return mid + 1 + BinarySearch(GetSubArray(arr,mid+1,arr.Length-1),x); } } public int[] GetSubArray(int[] arr, int start, int end) { List<int> _result = new List<int>(); for (int i = start; i <= end; i++) { _result.Add(arr[i]); } return _result.ToArray(); }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#迭代器模式(Iterator Pattern)實(shí)例教程
這篇文章主要介紹了C#迭代器模式(Iterator Pattern),包括了迭代器的適用范圍及用法實(shí)例,需要的朋友可以參考下2014-09-09C#無(wú)法打開(kāi)計(jì)算機(jī)“.”上的 IISADMIN 服務(wù)的解決方法
在使用c#進(jìn)行控制IIS服務(wù)啟動(dòng)停止的時(shí)候,提示:無(wú)法打開(kāi)計(jì)算機(jī)“.”上的 IISADMIN 服務(wù)2015-01-01Unity UGUI的RectMask2D遮罩組件的介紹使用
這篇文章主要為大家介紹了Unity UGUI的RectMask2D遮罩組件的介紹使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07C# WinForm實(shí)現(xiàn)鼠標(biāo)穿透功能
在WinForm開(kāi)發(fā)時(shí),會(huì)用到這樣一個(gè)場(chǎng)景,給屏幕增加水印Logo,但不影響畫(huà)面的操作,這里就會(huì)用到鼠標(biāo)穿透功能,下面我們就來(lái)學(xué)習(xí)一下鼠標(biāo)穿透功能的具體實(shí)現(xiàn)吧2023-11-11