// 이진 검색 (분열)
공공 무효 arrayHalfQuery () {
int 형 정수 데이터 유형의 배열의 // 정의
INT [] = {NUM 1,3,4,7,9,10,12,15,17 , 19,21,22,25,26,28,29,30는}
//이 찾는 키 값을 정의
INT = 18은 키이다
// 삭제 배열 첨자 최대 및 최소 인덱스
INT 최소 = 0 ]
. INT = num.length 맥스 1;
// 무한 루프를 호출
{(참으로)를 잠시
반 표준 중간 값 룩업의 // 정의
; MID = (최대 + 최소) INT / 2
// 키값 경우 중간 값이 목표 값과 동일하고, 다음 검색이 성공하고, 루프의 출력
에 IF (키 == NUM [미드]) {
에서 System.out.println ( "당신은 인덱스 값 조회 할"+ MID)
BREAK 단계;
// 만약 제외 좌측 키 NUM [미드] 값보다 크면, 분 중간의 중간으로 이동 + 1
}는 다른 IF (키> NUM [미드]) {
분 + +1 = MID;
값이 키 // NUM [미드] 미만인 경우, 권리는 맥스 미드 (1)의 중간으로 이동 제외한다
}를 다른 IF (키 <NUM [MID]) {
최대 = MID -1;
}
// 최대 분 미만의 경우, 또한 발견되지 않은 완전한 배열 설명을 찾아, 무한 루프의 끝
// 때문에 세 개의 케이스 키, 그래서 당신이 다른 경우에는 사용할 수 없습니다 혼자 문을 분기 사용하려는 경우
경우 (최대 <분) {
에서 System.out.println (당신 " 어레이 ") ;! 존재하지 않는 값을 찾는
BREAK 단계;
}
}
}
이진 검색 (이분법)에있어서의 배열
추천
출처www.cnblogs.com/private-mingmie/p/11826660.html
추천
행