您的位置:首页 > 其它

二分查找的递归算法(附源码)_

2006-12-19 15:11 232 查看
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}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: