学习算法第一天
第一天先从最基本的二分法查找开始学习吧!
努力学算法啊啊啊啊啊啊
public static void main( String[] argv ) {
Scanner input=new Scanner (System.in);
int a []= {2,56,45,28,45,3,9,45,15,67};// 给一个int类型的数组赋值
int low=0;
int mid=0;
int high=a.length;
Arrays.sort(a);// 给数组排序
for(int i=0;i<a.length;i++){
System.out.printf("%d ",a[i]);
};// 输出排序后的数组
int n=input.nextInt();
while(low<=high){
mid=(low+high)/2;// 奇数时为中间值,偶数时为中间的第一个值
if(a[mid]==n){
System.out.println(mid);// 输出下标
break;
}
else if(a[mid]>n){
high=mid;
}
else{
low=mid;
}
}
}