java基础案例:在数组中查找指定元素
2018-02-25 21:05
351 查看
public class Array_Demo9
{
public static void main(String[] args)
{
int[] arr = new int[]{3,5,62,6,21,344,53};
int index = getIndex(arr,3);
System.out.println("index="+index);
int[] arra = new int[]{2,5,6,8,9,12,14,15,16,19};
int index2 = binarySearch_2(arra,16);
System.out.println("index2="+index2);
}
/*
数组常见功能:查找;
*/
public static int getIndex(int[] arr,int key)
{
for(int x=0;x<arr.length;x++)
{
if(arr[x]==key)
{
return x;
}
}
return -1;
}
/*
二分查找法;
*/
public static int binarySearch(int[] arra,int key)
{
int max,min,mid;
min = 0;
max = arra.length-1;
mid = (max+min)/2;
while(arra[mid]!=key)
{
if(key>arra[mid])
{
min = mid+1;
}
else if (key<arra[mid])
{
max = mid-1;
}
if(max<min)
{
return -1;
}
mid = (max+min)/2;
}
return arra[mid];
}
//二分查找法的第二种表现形式;
public static int binarySearch_2(int[] arra,int key)
{
int max,min,mid;
min = 0;
max = arra.length-1;
while(min<max)
{
mid = (max+min)>>1;
if(key>arra[mid])
{
min = mid + 1;
}
else if(key<arra[mid])
{
max = mid - 1;
}
else
{
return mid;
}
}
return -1;
}
}
{
public static void main(String[] args)
{
int[] arr = new int[]{3,5,62,6,21,344,53};
int index = getIndex(arr,3);
System.out.println("index="+index);
int[] arra = new int[]{2,5,6,8,9,12,14,15,16,19};
int index2 = binarySearch_2(arra,16);
System.out.println("index2="+index2);
}
/*
数组常见功能:查找;
*/
public static int getIndex(int[] arr,int key)
{
for(int x=0;x<arr.length;x++)
{
if(arr[x]==key)
{
return x;
}
}
return -1;
}
/*
二分查找法;
*/
public static int binarySearch(int[] arra,int key)
{
int max,min,mid;
min = 0;
max = arra.length-1;
mid = (max+min)/2;
while(arra[mid]!=key)
{
if(key>arra[mid])
{
min = mid+1;
}
else if (key<arra[mid])
{
max = mid-1;
}
if(max<min)
{
return -1;
}
mid = (max+min)/2;
}
return arra[mid];
}
//二分查找法的第二种表现形式;
public static int binarySearch_2(int[] arra,int key)
{
int max,min,mid;
min = 0;
max = arra.length-1;
while(min<max)
{
mid = (max+min)>>1;
if(key>arra[mid])
{
min = mid + 1;
}
else if(key<arra[mid])
{
max = mid - 1;
}
else
{
return mid;
}
}
return -1;
}
}
相关文章推荐
- java基础--键盘输入一个数,输出数组中指定元素
- [Java基础]数组/二维数组/查找最大元素/平均值/复制/颠倒/矩阵相乘
- java,查找数组中指定元素第一次出现的索引值。
- Java基础知识强化44:StringBuffer类之把数组拼接成指定格式的字符串的案例
- java基础--输出数组中指定元素的下标
- 黑马程序员----------java基础知识(6)之数组查找和二维数组及其应用
- Java基础04:选择排序;冒泡排序;折半查找;二位数组
- Java学习之数组1(1.数组的声明;2.元素为引用数据类型的数组;3.关于main方法里的String[] args;4.数组排序;5.数3退1 数组算法,(用数组模拟链表);6数组查找之二分法;7数组的拷贝)
- Java基础05-数组排序与查找
- 黑马程序员--数组的排序和查找--java学习日记2(基础知识)
- 黑马程序员_Java基础_04数组main函数args详解、数组排序、二分查找实例
- java实现 数组中两个元素相加等于指定数的所有组合
- 数组中的查找两个元素,它们的和是指定的值
- merge两个有序数组 & 查找一个有序数组中指定元素
- 在一个升序的但是经过循环移动的数组中查找指定元素
- 《数据结构、算法与应用》8.(顺序查找数组中第一个出现指定元素的位置)
- 黑马程序员 java基础 函数 数组 查找与排序总结
- 百度2014校园招聘算法题--在数组中查找指定的元素t
- java基础知识4--数组,排序,二分查找
- java 数组比较,元素的比较,Comparable,Comparator比较的应用实现,排序,查找示例