C#演算法(二)

來源:互聯網
上載者:User

       基本的二叉尋找

第一種採用遞歸的方式;

第二種是迭代方式;

直接看代碼:

(VS2008中通過)

 

代碼

 1  public int RbinSearch(int value, int low, int upper,int[] a)
 2         {
 3             if (low > upper) return -1;
 4             else
 5             {
 6                 int mid = (low + upper) / 2;
 7                 if (value < a[mid])
 8                     return RbinSearch(value, low, mid--,a);
 9                 else if (value == a[mid])
10                     return mid;
11                 else
12                     return RbinSearch(value, mid++, upper,a);
13 
14             }
15         }
16         public int RbinSearch2(int value,int[] a)
17         {
18             int mid, low, upper;
19             low = 0;
20             upper = a.Length - 1;
21             while (low < upper)
22             {
23                 mid =(low+upper)/2;
24                 if (value == a[mid]) return mid;
25                 else if (value > a[mid])
26                 {
27                     low = mid + 1;
28                     continue;
29                 }
30                 else
31                 {
32                     upper=mid -1;
33                     continue;
34                 }
35             }
36             return -1;
37         }

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.