java - 二进制搜索,从 java 到 Actionscript

标签 java flash actionscript-3 binary

我正在尝试将以下 java 二进制搜索例程转换为 as3。 我假设“compareTo”是一个内置的 java 方法,而“>>>”是一种按位运算。

任何熟悉 actionscript 3 和 Java 的人都可以帮助解决这个问题吗?

package binary;

public class Finder {

  public static int find( String[ ] keys, String target) {
    int high = keys.length;
    int low = -1;
    while (high - low>1) {
      int probe = (low + high)>>> 1;
      if (keys[probe].compareTo(target) > 0)
        high = probe;
      else
        low = probe;
    }

    if (low==-1 || keys[low].compareTo(target) !=0)
      return -1;
    else
      return low;
  }
}

最佳答案

这是一个功能性的 AS3 版本:

    public static function find(keys:Array, target:String):int {
        var high:int = keys.length;
        var low:int = -1;
        while (high - low > 1) {
            var probe:int = (low + high) / 2;
            if (keys[probe] > target)
                high = probe;
            else
                low = probe;
        }

        if (low == -1 || keys[low] !== target)
            return -1;
        else
            return low;
    }

顺便说一句,我建议您重命名 函数使其更有意义,例如binarySearch(),它向调用者指示最好对数组进行排序。像 find() 这样的名字并不意味着这样。

关于java - 二进制搜索,从 java 到 Actionscript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1987163/

相关文章:

javascript - 如何让一个div更新内容有滑动效果(类似flash的动画)?

actionscript-3 - AS3 FTP 套接字在 3G 网络上失败

actionscript-3 - 错误#1009闪存,无法解决

actionscript-3 - Flex 在 TabNavigator 中隐藏选项卡

java - 为什么这个客户端/服务器程序不停止?

java - 带有嵌入式tomcat的Spring引导+带有身份验证用户的访问日志

java - java中什么时候应该使用静态类、变量和方法

java - 如何调试 NoSuchMethodError 异常?

javascript - 如何使用 javascript 制作 flash 电影以全屏模式播放?

flash - 如何将 Ruffle flash player 模拟器嵌入 HTML 文件?