/*
需求: 对数组中的元素进行查找,打印出需求的元素。
思路: 对数组中元素查找的过程就是对数组的遍历过程,在遍历的过程中,加入判断语句。
步骤:
*/
class ArrayGetIndex
{ public static void main(String[] args)
{
int[] arr={1,2,5,8,9};
int index= halfSearch2(arr,2);
//int index=getIndex(arr,7);
System.out.println("index="+index);
//System.out.println("a["+i+"]"+arr[i]);
}
//功能:获取key第一次在数组中出现的位置。如果返回值是-1,代表key之不存在。
public static int getIndex(int[] arr,int key)//获取数组中的元素。
{
for(int i=0;i<arr.length-1;i++)//遍历的同时进行判断。
{
if(arr[i]==key)
//System.out.println("a["+i+"]"+arr[i]);
return i;
}
return -1;
}
//折半查找,在有序的数组中效率较高。
public static int halfSearch(int[] arr,int key)
{
int min,max,mid;
min=0;
max=arr.length-1;
mid=(min+max)/2;
while(key!=arr[mid])//折半过程
{
if(key>arr[mid])
min=mid+1;
else if(key<arr[mid])
max=min-1;
if(min>max)//如果
return -1;
mid=(min+max)/2;
}
return mid;
}
//折半查找的第二种方式,
public static int halfSearch2(int[] arr,int key)
{
int min=0,max=arr.length-1,mid;
mid=(min+max)>>1;
while(min<=max)//折半操作
{
if(arr[key]>arr[mid])
min = mid+1;
else if(arr[key]<arr[mid])
max = min-1;
else
return mid;
}
return -1;
}
}
数组中的元素进行查找,打印出需求的元素
最新推荐文章于 2023-07-24 18:45:36 发布