二分查找法 C#實現

m47c 9年前發布 | 1K 次閱讀 C#

    public int FindPosition(int num, int[] arr)
{
int left = 0;
int right = arr.Length - 1;

            while (left < right - 1)  
            {  
                if (arr[left] == num)  
                {  
                    return left;  
                }  
                if (arr[right] == num)  
                {  
                    return right;  
                }  


                int middle = (left + right) / 2;  
                if (num == arr[middle])  
                {  
                    return middle;  
                }  
                else if (num < arr[middle])  
                {  
                    right = middle;  
                }  
                else  
                {  
                    left = middle;  
                }  


            }  
            return -1;  
        }  </pre> 


 本文由用戶 m47c 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!