用第一种查找的方式首先要考虑 数组必须是有序的。
1,折半查找
public static int getIdex(int [] arr,int key)
{
int min=0,max=arr.length-1,mid=(min+max)/2;
while (min<=max)
{
if (arr[mid]>key)
{
mid+=mid;
}
else if(arr[mid]<key)
mid-=mid
else
return mid;
}
return -1;
}
2一般的查找方式
public static int getIndex(int []arr,int k){
for(int i=0;i<arr.length;i++){
if(arr[i]!=k){
if(i=arr.length-1)
return -1;
else
continue;
}
else
return i;
}
} |
|