Jumat, 13 Desember 2013

Contoh Program Binary Search

import java.util.Scanner;

public class BinarySearch{
public static void main(String[]args){
Scanner in=new Scanner (System.in);
int n,i,j,cari;

System.out.print("Masukkan banyaknya data :");
n=in.nextInt();
int [] data=new int [n];
int [] temp=new int [n];
boolean ada;
for(i=0;i<n;i++){
System.out.print("Masukkan data ke-"+(i+1)+" =");
data[i]=in.nextInt();
}
for(i=0;i<n;i++){
System.out.print(data[i]+" | ");
}
System.out.print("\nData yang akan dicari :");
cari=in.nextInt();
for(i=n-1;i>1;i--){
for(j=0;j<i;j++){
if(data[j]>data[j+1]){
int a;
a=data[j];
data[j]=data[j+1];
data[j+1]=a;
}
}
}
for(i=0;i<n;i++){
System.out.print(data[i]+" | ");
}
int bawah=0;
int atas=data.length;
ada=false;
while(bawah<atas){
i=(bawah+atas)/2;
if(data[i]==cari){
ada=true;
data[i]=data[i]*5;
temp[i]=i+1;
bawah=0;
atas=data.length;
}
else if(data[i]<cari){
bawah=i+1;
}
else {atas=i;}
}
for(i=0;i<n;i++){
if(data[i]==cari){
data[i]=cari*5;
}
}
System.out.print("|");
if(ada){
System.out.print("\nData yang dicari berada pada index |");
for(i=0;i<n;i++){
if(temp[i]!=0){
System.out.print(" "+(temp[i]-1)+" |");
}
}
}
else { System.out.print("\nData tidak ada pada array ");}
}
}

Tidak ada komentar:

Posting Komentar