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         }
  • 相关阅读:
    强化学习 | D3QN原理及代码实现
    Airtest入门及多设备管理总结
    JS图片base64压缩
    ABP框架
    .net gof23种设计模式
    VS2013添加Socket
    VS2013用InstallShield打包winfrom项目
    .net core3.1 log4net无法写日志
    git commit 修改提交说明信息
    screen 使用总结
  • 原文地址:https://www.cnblogs.com/Mayvar/p/wanghonghua200912081115.html
Copyright © 2011-2022 走看看