用java写一个程序,判断一个数是否在某数组中

在一堆无序的数据中找数据是困难的,但对于已排序的数据,就会有比较快捷的方法判断一个数据是否在其中。这里小编使用折半法(二分法)判断。

思路
先对数组里面的数据进行排序。对于从小到大排序的数组,只要判断数据是否和数组中间的值相等,如果不相等,当该数据小于数组中间元素的值,就在数组的前一半数据中继续折半找,否则就在数组的后一半中继续折半找,这样,就可以比较快地判断数据是否在数组中。

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		int start=0;
		int middle,end;
		int a[]= {10,15,23,54,12,75,86,57,14,63};
		//选择法排序
		for(int i=0;ia[middle]) {
				start=middle;
			}else {
				end=middle;
			}
			middle=(start+end)/2;
			count++;
			if(count>a.length/2) {
				break;
			}
		}
		if(count>a.length/2) {
			System.out.println(number+"不在数组中");
		}else {
			System.out.println(number+"在数组中");
		}
		
	}

}

你可能感兴趣的:(java)