- def binary_search
- a = [10,57,68,70,78,90,122]
- search = 78
- index = 0 , start_index = 0 , end_index = a.length
- while(true)
- index = start_index + ((end_index - start_index) / 2)
- start_index = index if a[index] < search
- end_index = index if a[index] > search
- break if a[index] == search
- end
- puts "find by"+ index
- end
def binary_search a = [10,57,68,70,78,90,122] search = 78 index = 0 , start_index = 0 , end_index = a.length while(true) index = start_index + ((end_index - start_index) / 2) start_index = index if a[index] < search end_index = index if a[index] > search break if a[index] == search end puts "find by"+ indexend
Java
- public static void main(String[] args) {
- // sorted array
- int[] a = { 10,57,68,70,78,90,122};
- //
- int search = 78;
- int index = 0;
- int start = 0;
- int end = a.length;
- while(true){
- //get index
- index = start+((end-start)/2);
- if(a[index]<search){
- start = index;
- }else if(a[index]>search){
- end = index;
- }else{
- break;
- }
- }
- System.out.println("find by "+ index);
- }