二分查找法
二分法的前提是:数据量就大,比如在一个很长的字符串中查某个字符;还有就是查找的数据必须是排好序的。
递归
int search(int data, int[] your_array, int low, int high){ int mid = (low+high)/2; if (your_array[mid] > data) { return search(data, your_array, mid+1, high); } else if (your_array[mid] < data) { return search(data, your_array, low, mid-1); } else if (your_array[mid] == data) { return your_array[mid];} else return null;}迭代int search(int data, int[] your_array){ int low = 0; int high = your_array.Length; int mid; while(low != high) { mid = (low + high)/2; if (your_array[mid] == data) return data; else { if (your_array[mid] > data) { high = mid - 1;} else if (your_array[mid] < data) { low = mid + 1;} } } return null;}?