下载频道> 资源分类> 编程语言> C源码> 实例025 二分查找

标题:实例025 二分查找
分享到:

所属分类: C源码 资源类型:程序源码 文件大小: 2.03 KB 上传时间: 2017-07-09 19:41:47 下载次数: 35 资源积分:1分 提 供 者: admin 实例025 二分查找
内容:
#include<stdio.h>
 
void binary_search(int key, int a[], int n) /*自定义函数binary_search*/
{
    int low, high, mid, count = 0, count1 = 0;
    low = 0;
    high = n - 1;
    while (low < high) /*当查找范围不为0时执行循环体语句*/
    {
        count++; /*count记录查找次数*/
        mid = (low + high) / 2; /*求出中间位置*/
        if (key < a[mid]) /*当key小于中间值*/
            high = mid - 1; /*确定左子表范围*/
        else if (key > a[mid]) /*当key大于中间值*/
            low = mid + 1; /*确定右子表范围*/
        else if (key == a[mid]) /*当key等于中间值证明查找成功*/
        {
            printf("查找成功!\n查找 %d 次!a[%d]=%d", count, mid, key);
/*输出查找次数及所查找元素在数组中的位置*/
            count1++; /*count1记录查找成功次数*/
            break;
        }
    }
    if (count1 == 0) /*判断是否查找失败*/
        printf("查找失败!"); /*查找失败输出no found*/
}
 
void main()
{
    int i, key, a[100], n;
    printf("请输入数组的长度:\n");
    scanf("%d", &n); /*输入数组元素个数*/
    printf("请输入数组元素:\n");
    for (i = 0; i < n; i++)
        scanf("%d", &a[i]); /*输入有序数列到数组a中*/
    printf("请输入你想查找的元素:\n");
    scanf("%d", &key); /*输入要查找的关键字*/
    binary_search(key, a, n); /*调用自定义函数*/
printf("\n");
}
 

文件列表(点击上边下载按钮,如果是垃圾文件请在下面评价差评或者投诉):

实例025 二分查找
实例025 二分查找\www.gusucode.com
实例025 二分查找\文件说明.txt
实例025 二分查找\www.gusucode.com.txt
实例025 二分查找\www.gusucode.com\025.C
实例025 二分查找\【谷速代码】-免费源码.url

关键词: 实例

相关推荐

Top_arrow
回到顶部
联系方式| 版权声明| 招聘信息| 广告服务| 银行汇款| 法律顾问| 兼职技术| 付款方式| 关于我们|
网站客服网站客服 程序员兼职招聘 程序员兼职招聘
沪ICP备19040327号-3
公安备案号:沪公网安备 31011802003874号
库纳格流体控制系统(上海)有限公司 版权所有
Copyright © 1999-2014, GUSUCODE.COM, All Rights Reserved