임 .txt 파일에서 책 제목을 읽고이를 arraylist에 넣은 프로젝트에서 작업하면 arraylist가 배열로 변환됩니다. 사용자는 책 참조 번호 인 숫자를 입력합니다 , 그런 다음 선형 검색과 이진 검색을 수행하여 해당 책을 찾습니다.바이너리 검색 Java
private void FindItActionPerformed(java.awt.event.ActionEvent evt) {
String input;
input = Input.getText();
for(int i=0; i<bookList.length; i++){
if (bookList[i].referenceNumber.equals(input)){
Output1.setText("The Book is " + bookList[i].title);
}
}
이 이상 잘 작동 선형 검색, 코드입니다 : 내가 가지고 heres는 무엇인지, 그것을 수행하는 방법 거의 아무 생각으로 임은, 이진 검색을위한 코드로 문제가. 아래는 내가 이진 검색을 위해 필요하다고 생각하지만 다시는 모르겠다. 알아낼 수 없다.
int right = 0, left = bookList.length;
while(right<= left){
int middle = (right + left)/2;
if(bookList[middle].referenceNumber.equals(input)){
Output2.setText("The book is " + bookList[middle].title);
}
}
}
다음은 클래스와 배열이 제공 할 수 있습니다 어떤 도움
public class Book{
String referenceNumber, title;
public Book(String _referenceNumber, String _title){
referenceNumber = _referenceNumber;
title = _title;
}
}
ArrayList <Book> Books = new ArrayList <Book>();
Book [] bookList;
덕분에이 나를 위해 조금 까다 롭습니다이다.
이 게시하기 전에 몇 가지 기본적인 연구를하시기 바랍니다 아래의 방법 스왑이 책을 정렬을 수정해야 할 것입니다 간단합니다 여기 : http://en.wikipedia.org/wiki/Binary_search_algorithm#Iterative –
바이너리 검색을 위해 정렬 된 배열이 필요한가요? ... –