zoukankan      html  css  js  c++  java
  • C#算法(二)

           基本的二叉查找

    第一種採用遞歸的方式;

    第二種是迭代方式;

    直接看代碼:

    (VS2008中通過)

    代码
     1  public int RbinSearch(int value, int low, int upper,int[] a)
     2         {
     3             if (low > upper) return -1;
     4             else
     5             {
     6                 int mid = (low + upper) / 2;
     7                 if (value < a[mid])
     8                     return RbinSearch(value, low, mid--,a);
     9                 else if (value == a[mid])
    10                     return mid;
    11                 else
    12                     return RbinSearch(value, mid++, upper,a);
    13 
    14             }
    15         }
    16         public int RbinSearch2(int value,int[] a)
    17         {
    18             int mid, low, upper;
    19             low = 0;
    20             upper = a.Length - 1;
    21             while (low < upper)
    22             {
    23                 mid =(low+upper)/2;
    24                 if (value == a[mid]) return mid;
    25                 else if (value > a[mid])
    26                 {
    27                     low = mid + 1;
    28                     continue;
    29                 }
    30                 else
    31                 {
    32                     upper=mid -1;
    33                     continue;
    34                 }
    35             }
    36             return -1;
    37         }
  • 相关阅读:
    前端工程师需要的技能
    微信小程序
    前端问题总结
    vue面试题
    vue 双数据绑定原理
    路由配置5步
    chrome浏览器自动填充失效问题
    spring 登录提示 Bad credentials
    spring 项目tomcat 8.0.2 发布报错:Could not initialize class org.hibernate.validator.engine.ConfigurationImpl
    spring tiles界面为空白
  • 原文地址:https://www.cnblogs.com/Mayvar/p/wanghonghua200912081115.html
Copyright © 2011-2022 走看看