JAVA--配列要素の検索方法

952 ワード

最初から繰り返し:
   制約なし
/*         */
    public static int getIndex(int[] arr,int key){
            for(int i=0;i

半角検索:
   半角検索は検索効率を向上させることができますが、配列が秩序化された配列であることを保証する必要があります.
1つ目の方法:
//     :                 
	public static int halfSearch(int[] arr,int key){
		int min,max,mid;
		min=0;	//         
		max=arr.length-1;	//        
		mid=(min+max)/2;	//        
		
		while(arr[mid]!=key){
			if(arr[mid]>key){
				max=mid-1;
			}
			if(arr[mid]max){
				return -1;
			}
			mid=(min+max)/2;
		}
		return mid;
	}

2つ目の方法:
//     :                 
	public static int halfSearch_2(int[] arr,int key){
		int min=0,max=arr.length-1,mid;
		
		while(min<=max){
			mid=(min+max)>>1;
			
			if(key>arr[mid]){
				min=mid+1;
			}
			else if(key