게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
바이너리서치 질문드립니다.
게시물ID : programmer_8999짧은주소 복사하기
작성자 : 치킨vs피자
추천 : 0/4
조회수 : 445회
댓글수 : 7개
등록시간 : 2015/03/30 19:10:22
옵션
  • 본인삭제금지
import java.util.Scanner;
public class Ex2 {
 public static void main(String[] args) {
 int key;
 Scanner Input = new Scanner(System.in);
 int[] arr = {1, 2, 3, 4, 6, 8, 9, 11, 13, 16, 19, 20};//12개
 System.out.print("찾으려는 숫자를 입력하세요(0~20사이의 정수) : ");
 key = Input.nextInt();
 binsearch(arr, key, 0, arr.length);
 }
 static void binsearch(int arr[], int key, int left, int right){
 int mid = (left+right)/2;//6
 if(key == arr[mid])
 System.out.println("찾으시려는 숫자는 [" + mid + "]번째 인덱스에 있습니다.");
 else if(key<arr[mid])
 binsearch(arr, key, left, mid-1);
 else if(key>arr[mid])
 binsearch(arr, key, mid+1, right);
 else
 System.out.println("찾으시려는 숫자가 없습니다.");
 }
}
 
//찾으려는 숫자를 찾으려는데 식에는 문제가 없는걸로 생각됩니다.
찾는 숫자가 없을 때 엘스에 걸리게 하고 싶은데 현재 소스로는 else에 걸릴 수가 없네요;;;
조건을 어떻게 줘야할까요?? 조언부탁드립니다.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호