zoukankan      html  css  js  c++  java
  • 二分查找算法

    //
    //  BinarySearch.c
    //  libin
    //
    //  Created by 李宾 on 16/4/28.
    //  Copyright © 2016年 李宾. All rights reserved.
    //
    
    #include <stdio.h>
    //非递归
    int Binary_Search(int a[], int low, int high, int key)
    {
        while (low <= high)
        {
            int mid = (low + high)/2;
            if(a[mid] == key)
            {
                return mid;
            }
            else if(a[mid] < key)
            {
                low = mid + 1;
            }
            else
                high = mid - 1;
        }
    return -1; } //递归 int Binary_Search1(int a[], int low, int high, int key) {
      if(low > high)
      {
        return -1;
      }
    int mid = (low + high)/2;

      if (a[mid] == key )
      {
    return mid; } else if(a[mid] < key) { return Binary_Search1(a, mid+1, high, key); } else return Binary_Search1(a, mid, high-1, key); } } int main() { int a[6] = {1, 23, 33, 45, 56, 65}; Binary_Search1(a, 0, 5, 34); }
  • 相关阅读:
    java第四次作业
    java第五次作业
    java第三次作业
    第二次学习笔记
    java学习笔记
    第十四周完成情况
    课程计划进程
    课程设计分工
    JAVA学习笔记(六)
    JAVA学习笔记(五)
  • 原文地址:https://www.cnblogs.com/masterlibin/p/5444172.html
Copyright © 2011-2022 走看看