import java.io.* ;
public class BinarySearch
{
public static void main(String[] args) throws Exception
{
int[] aNum = { 42, 15, 52, 66, 83} ;
System.out.print(" 排序前:") ;
for(int i=0 ; i
System.out.print(" " + aNum[i]) ;
System.out.println() ;
int n = aNum.length ;
int t ;
for (int i=n-2 ; i>=0 ; i--)
{
for(int j=0 ; j<=i ; j++)
{
if (aNum[j] > aNum[j + 1])
{
t = aNum[j];
aNum[j] = aNum[j + 1];
aNum[j + 1] = t;
}
}
}
System.out.print(" 排序後:") ;
for(int i=0 ; i
System.out.print(" " + aNum[i]) ;
System.out.println();
System.out.print(" 請輸入要搜尋的數字: ") ;
BufferedReader br=new BufferedReader
(new InputStreamReader(System.in)) ;
int searchNum = Integer.parseInt(br.readLine());
int num=-1, low=0, high=aNum.length-1, midNum=0 ;
do
{
midNum=(low+high)/2;
if (aNum[midNum] == searchNum)
{
num=midNum;
break;
}
if (aNum[midNum] > searchNum)
high=midNum-1 ;
else
low=midNum+1 ;
} while (low <= high) ;
if (num==-1)
System.out.println(" 沒有 " + searchNum + " 這個數字! ") ;
else
System.out.println(" 排序後找到 " + searchNum + " 是第 " + (num+1) + " 個數字!") ;
}
}
arrow
arrow
    全站熱搜

    Neo Chao 發表在 痞客邦 留言(0) 人氣()