(9)在有序数组中找一个数

猜数字这样的游戏常常会用到二分法,别人预先确定了一个100以内数字看你多少次能猜中,一般来说,我们会先猜50,这样可以将猜测的范围减少一半。

						int[] num=new int[]{2,4,6,8,10,12,14,16,18,20};
						int snum=14;
						int start=0;
						int end=num.length-1;
						int index=-1;
						while(start<=end){
							int i=(start+end)/2;
							if(snum<num[i]){
								end=i-1;
							}else if(snum>num[i]){
								start=i+1;
							}else{
								index=i;
								break;
							}
						}
						System.out.println(index);