作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 javascript 中实现二进制搜索,我是 JS 的新手。我主要习惯于 C++ 语法,所以要改掉我已有的任何习惯对我来说有点困难。
当我将此脚本包含在 html 文档中时,如果数组大小小于 1,它无法退出脚本,如果我输入无序数组,则不会触发数组顺序警报。另外,程序似乎永远不会结束while循环,所以我不知道是否还有其他问题。
如有任何帮助,我们将不胜感激!
var size = parseInt(prompt("Enter the size of the array:"));
if(size < 1) {
alert("ERROR: you entered an incorrect value for the array size!");
return;
}
var arr = [size];
var input = parseInt(prompt("Enter the numbers in the array in increasing order,"
+ " separated by a space, and press enter:"));
arr = input.split(" ");
var checkOrder = function(array) {
for(var i = 0; i < size-1; i++) {
if(array[i] > array[i+1]) {
return false;
}
}
return true;
}
if(!checkOrder(arr)) {
alert("The values entered for the array are not in increasing order!");
}
var search = parseInt(prompt("Enter a number to search for in the array: "));
var lp = 0; //left endpoint
var rp = size; //right endpoint
var mid = 0;
var counter = 0;
var found = false;
while(lp <= rp) {
mid = Math.floor((lp + rp)/2);
if(arr[mid] == search) {
alert("Found value " + search + " at index " + mid);
counter++;
found = true;
break;
} else if(arr[mid] > search) {
rp = mid + 1;
counter++;
} else {
lp = mid;
counter++;
}
}
if(!found) {
alert("The value " + search + "was not found in the array");
alert("I wasted " + counter + " checks looking for a value that's not in the array!");
return;
}
最佳答案
var arr = [size];
上面的代码可能没有按照您的意愿进行。这将创建一个包含一个 元素的数组,其值为size
的值。您可以通过执行以下操作创建具有特定初始大小的数组:
var arr = new Array(size);
关于javascript - Javascript 新手。有人可以帮我调试我的程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12966740/
嗨,我是第一次玩 Pig,我很好奇如何处理将一个字段拆分成多个其他字段。 我有一个包,A,如下图: grunt> Dump A; (text, text, Mon Mar 07 12:00:00 CD
如何添加架构中未定义的固定字段(例如日期或月份)?我运行了以下 pig 脚本以将固定日期添加到我的结果表中,并收到以下错误消息:Invalid field projection。方案中不存在投影字段
我是一名优秀的程序员,十分优秀!