二分尋找的遞迴演算法(附源碼)_

來源:互聯網
上載者:User
1using System;
 2
 3namespace BinarySearch
 4{
 5    /**//// <summary>
 6    /// 二分搜尋法,Made by AX。
 7    /// </summary>
 8    public class Search
 9    {
10        public static void Main()
11        {
12            int searchKey=8;                //要在數組中尋找的數字
13            int[] scores={2,4,6,8,10,12};    //數組
14            int low=0;                        //數組最小索引
15            int high=scores.Length-1;        //數組最大索引
16            int searchResult=StartSearch(scores,searchKey,low,high);
17            Console.WriteLine("要查詢的數的索引為:"+searchResult);
18            Console.ReadLine();
19        }
20        public static int StartSearch(int[] arr ,int key,int low,int high)
21        {            
22            if(low>high)
23            {
24                return -1;
25            }
26            else
27            {
28                //四捨五入方法,結果為6.0
29                //double AX=Math.Round(5.5);
30                //第一次執行(0+5)/2=2                
31                int mid=(low+high)/2;
32                if(arr[mid]==key)
33                {
34                    return mid;
35                }
36                else if(key<arr[mid])
37                {
38                    return StartSearch(arr,key,low,mid-1);
39                }
40                else
41                {
42                    return StartSearch(arr,key,mid+1,high);
43                }
44            }
45        }
46    }
47}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.