クエリのJava配列

アレイパッケージ、

パブリッククラスArrayFind { 
	パブリック静的無効メイン(文字列[] args){ 
		INT [] = {13,15,19,28,33,45,78,106 ARR}; 
		int型キー= 15; 
		int型のインデックス= binarySearch2(ARR 、KEY); 
		のSystem.out.println(インデックス); 
	} 

	/ * 
	 *配列の共通機能:検索
	 * / 
	パブリック静的INT getIndex(INT [] ARR、INTキー){ 
		ため(INT X = 0; X <arr.length ; X ++){ 
			IF(ARR [X] ==キー)
				リターンX; 
		} 
		戻り-1; 
	} 

	/ ** 
	 *バイナリサーチ(規則配列用)
	 * / 
	パブリック静的INT binarySearch(INT [] ARR、INTキー) { 
		// 3つのインジケータ変数の定義。
		0分= INT; 
		int型の最大値= arr.length - 1。 
		MID =(最大値+最小)/ 2をint型、
		//バイナリサイクル、条件、最小<= maxの
		一方{(キー=のARR [MID]!)
			//要素を検索し、比較し、中間インデックス要素作る
			(主IF> ARR [MID])を{ 
				1分+ = MID。
			他}(キー<ARR [MID]){IF 
				最大= MID - 1; 
			} 
			{(MAX <min)のIF 
				-1を返す; 
			} 
			MID =(最大値+最小)/ 2; 
		} 
		MIDを返す; 
	} 
	
	/ ** 
	 * (規則配列用)バイナリサーチ
	 * / 
	パブリック静的INT binarySearch2(INT [] ARR、INTキー){ 
		int型のMAX、MIN、MID、
		分= 0; 
		マックス= -arr.length 1; 

		一方(MIN <= MAX)
		{ 
			MID =(最大値+最小)>> 1; 
			他IF(キー<ARR [MID])
 
			IF(キー> ARR [MID])
				分=ミッド+ 1; 
				最大=半ば- 1。
			他の
				半ばを返します。
		} 
		-1を返します。
	} 
}

  

おすすめ

転載: www.cnblogs.com/yueluoshuxiang/p/11361609.html