开始学数据结构——(五):二分查找 ,递归

/*二分查找法  递归方式。
思路很简单 ,往中间的值比较,然后大于或者小于都除掉了中间那个数-1 或者+1 后再递归查找!
SQ 2014-04-15
*/
#include
int aa[]= {0,1,2,3,4,5,6,7,8,9,10,13,15,17,19,21,23,25};
int main()
{
int m=0;
int n;
int bb[20]={0};
 for(m=0 ; m < 16 ; m++)
     printf(" =%d= " , aa[m]);

     n =find(0,16,17);   //17为你要寻找的数
     printf("what the data you want to is %d and is locate at %d\n",aa[n] ,n );
return 0;
}

int find(int start ,int end ,int m){
    int mid;
    mid = (end + start) / 2;
    if ( m         find (start ,mid-1 , m);
    else if (m > aa[mid])
        find (mid +1 ,end ,m);
        else
            return mid;
}

你可能感兴趣的:(数据结构)