python 格式
nums = [1, 2, 3, 9, 10, 25, 88, 100]
def binary_search(param, nums, left, right):
center_index = left+right // 2
if nums[center_index] == param:
print("找到了,脚标在第 %s 位" % center_index)
return
elif nums[center_index] > param:
right = center_index - 1
print(nums[center_index])
binary_search(param, nums, left, right)
else:
left = center_index + 1
print(nums[center_index])
binary_search(param, nums, left, right)
binary_search(9, nums, 0, len(nums))
java 格式
public class BinarySearch {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 9, 10, 25, 88, 100};
binarySearch(9, nums, 0, nums.length);
}
private static void binarySearch(int target, int[] nums, int left, int right) {
int centerIndex = left + right / 2;
if (nums[centerIndex] == target) {
System.out.println("找到了,角标是" + centerIndex);
} else if (nums[centerIndex] > target) {
right = centerIndex - 1;
System.out.println(nums[centerIndex]);
binarySearch(target, nums, left, right);
} else {
left = centerIndex + 1;
System.out.println(nums[centerIndex]);
binarySearch(target, nums, left, right);
}
}
}