首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

2分查找法

2012-09-04 
二分查找法二分法的前提是:数据量就大,比如在一个很长的字符串中查某个字符;还有就是查找的数据必须是排好

二分查找法

二分法的前提是:数据量就大,比如在一个很长的字符串中查某个字符;还有就是查找的数据必须是排好序的。
递归
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;}

?

热点排行