09/06/03 23:17:05
// javascript(JScript) + WSH で >>78。WSHは、Echoだけですが。
function puts(x){WScript.Echo(x);}
function Stack(){}
Stack.prototype = {
node: undefined,
push: function(x){
this.node = {'next': this.node, 'value':x};
return this;
},
pop: function(x){
var value = undefined;
if(this.node){
value = this.node.value;
this.node = this.node.next;
}
return value;
},
empty: function(){return !this.node},
show: function(){
var a = [];
for (var node=this.node; node; node=node.next){a.push(node.value);}
puts('[' + a.join(',') + ']');
}
}
function main(){
var stack = new Stack();
stack.push(3).push(1).push(4).push(1).push(5).push(9).push(2);
stack.show();
while(!stack.empty()){puts('POP :' + stack.pop()); stack.show();}
}
main();// 動作テスト