在堆栈中查找最小值 - 不会打印出任何结果
Posted
技术标签:
【中文标题】在堆栈中查找最小值 - 不会打印出任何结果【英文标题】:Finding min in a stack- Won't print out any result 【发布时间】:2012-12-11 06:25:06 【问题描述】:试图找到这个堆栈的最小值;但是,每当我在 JSFiddle 中运行它时,什么都不会打印出来……有人向我解释为什么?这是代码:
function min_stack()
var min = 0;
this.elements = [];
this.push = function(element)
this.elements.push(element);
this.pop = function()
return this.elements.pop();
this.min = function()
min = this.elements[0];
if (this.elements.length > 0)
for(int i = 0; i < this.elements.length; i++)
if (min > this.elements[i])
min = this.elements[i];
return min;
var myStack = new min_stack();
myStack.push(5);
myStack.push(4);
myStack.push(3);
print("[" + myStack.elements + "]");
print("min:" + myStack.min());
myStack.pop();
print("[" + myStack.elements + "]");
print("min:" + myStack.min());
myStack.pop();
print("[" + myStack.elements + "]");
print("min:" + myStack.min());
【问题讨论】:
您知道print()
实际上会打印页面吗?您是要改用console.log
还是alert
?
【参考方案1】:
for
中存在语法错误,该错误会立即显示在浏览器控制台中
变化:
for(int i = 0; i < this.elements.length; i++)
到
for(var i = 0; i < this.elements.length; i++)
演示:http://jsfiddle.net/y7wET/
正如 cmets 中指出的那样,我怀疑你想使用 print
【讨论】:
【参考方案2】:int i = 0;
不是有效的 javascript。 JavaScript 不允许在声明变量时指定变量的类型;请改用var i = 0;
。
另外,因为“window”是全局对象,所以在网页上下文中,print() 相当于window.print(),它将页面打印到您的打印机。
出于调试目的,您可以使用window.alert()弹出一个消息框;如果这太烦人了,您可以做一些事情,例如将输出添加到 textarea 元素。
【讨论】:
以上是关于在堆栈中查找最小值 - 不会打印出任何结果的主要内容,如果未能解决你的问题,请参考以下文章
寻找旋转排序数组中的最小值 II(数组二分查找)打印1000以内的所有素数,并从键盘输入一个正整数,判断是否为素数数组元素统计(算法初阶基础知识)