对于自定义的数组,要求先进行排序,然后进行查找某个数字。C#
1个回答
展开全部
using System;
public class A
{
public static void Main()
{
//要想实现折半查找,输入的数组必须是排序的,不规律的没法实现
int[] intary=new int[]{1,2,3,4,5,6,7,8,9,10};
Console.WriteLine("{0}",Search(intary,9,intary.Length));
}
//递归查找
//ints 包含被查找数字的数组
//key 要查找的数字
//i 数组的长度
//返回数字在数组中的位置,没找到返回-1,int类型
public static int Search(int[] ints,int key,int i)
{
int index=i/2;
if(ints[index]<key)
{
return Search(ints,key,index+ints.Length);
}
else if(ints[index]>key)
{
return Search(ints,key,index-1);
}
else if(ints[index]==key)
{
return index;
}
return -1;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询