第8章数组 例8.7 二分查找

时间 : 20-01-01 栏目 : linux编程 作者 : 老薛 评论 : 1 点击 : 316 次


/*
 * ** 二分检索或对分检索或折半检索
 * ** laoxue
 * ** 2020-02-11
 * **/
#include <stdio.h>
#include <stdlib.h>

#define N 10

int main()
{
        //int number[10] = {1,2,3,4,5,6,7,8,9,10};
        int number[N], x;
        int i, j, low = 0, high = N -1, mid, find = 0;

        printf("Input ten integet:\n");
        for(i = 0; i < N; i++)
        {
           scanf("%d", &number[i]);
        } 

        /*display integet*/
        for(j = 0; j< N; j++)
        {
           printf("%d\n", number[j]);
        }

        /*look for*/
        printf("Input an integet to look for:");
        scanf("%d",&x);
        while(low <= high && find == 0)
        {
                mid = (low + high) / 2;

                if (x == number[mid])
                {
                        printf("%d is found, it is a[%d]\n", x, mid);
                        find = 1;
                        break;
                }
                else if( x < number[mid])
                        high = mid - 1;
                else
                        low = mid+1;

        }
        if (find == 0)
                printf("%d is not in array number\n", x);

        return 0;
}

本文标签 ,

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/xtyw003/2960.html

第8章数组 例8.7 二分查找:目前有1 条留言

  1. 沙发
    头条
    Post: 2020-04-18 下午10:27

    文章非常好超喜欢

发表评论

0 + 9 = ?


博主微信号,很高兴为您提供帮助

随便看看

为您推荐

1