zoukankan      html  css  js  c++  java
  • 二分查找——C语言

    进行二分查找的前提是数组已排序,这里假定数组递增排序。

    每次查找都将待查找数num与处于数组中间位置a[mid]的数进行比较,num < a[mid]则在mid之前的元素中进行查找,反之在mid之后的元素中进行查找。

    在函数中使用low, mid, high来对待查找的范围来进行标记。

    /*整数查找*/

    void binsearch( int num, int a[], int length )        /*num为待查找数字,length为数组a的长度*/

    {

        int low, mid, high;

        low = 0;

        high = length - 1;

        while( low <= high )

        {

            mid = ( low + high ) / 2;

            if( a[mid] > num )

                high = mid - 1;

            else if( a[mid] < num )

                low = mid + 1;

            else

                return mid;

        }

        return -1        /*未查找到num返回-1*/

    }

  • 相关阅读:
    Java面向对象(继承、抽象类)
    Java面向对象(类、封装)
    Java基础语法(Eclipse)
    JavaScript new对象的四个过程
    原生js实现深复制
    es6 实现双链表
    快速排序
    跨域问题
    pm2 使用
    js冒泡排序
  • 原文地址:https://www.cnblogs.com/liangchao/p/2678755.html
Copyright © 2011-2022 走看看