gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 20:13:17 27 4
gpt4 key购买 nike

我正在尝试将以下 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com