您的位置:首页 > 编程语言 > Ruby

Ruby实现二分法查找

2013-02-15 12:15 429 查看
Ruby代码







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"+ index
end


Java

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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: