zoukankan      html  css  js  c++  java
  • 二分查找的递归和非递归实现

     1 int BinSearch(int Array[],int SizeOfArray,int key/*要找的值*/)
     2 {
     3     int low=0,high=SizeOfArray-1;
     4     int mid;
     5     while (low<=high)
     6     {
     7         mid = (low+high)/2;
     8         if(key==Array[mid])
     9             return mid;
    10         if(key<Array[mid])
    11             high=mid-1;
    12         if(key>Array[mid])
    13             low=mid+1;
    14     }
    15     return -1;
    16 }
     1 int BinSearch(int Array[],int low,int high,int key/*要找的值*/)
     2 {
     3     if (low<=high)
     4     {
     5         int mid = (low+high)/2;
     6         if(key == Array[mid])
     7             return mid;
     8         else if(key<Array[mid])
     9             return BinSearch(Array,low,mid-1,key);
    10         else if(key>Array[mid])
    11             return BinSearch(Array,mid+1,high,key);
    12     }
    13     else
    14         return -1;

    15 } 

  • 相关阅读:
    c# 执行windows模拟登录
    c#文件压缩解压
    c#文件上传下载功能实现
    .NET core3.1 使用Jwt保护api
    我所理解的闭包
    数组遍历for forEach for..in for..of
    变量提升
    微信小程序做radio,可以拖动进度条
    css:flex
    css常用布局
  • 原文地址:https://www.cnblogs.com/xiawen/p/3058565.html
Copyright © 2011-2022 走看看