Queue.prototype.Dequeue = function()
{
var element = undefined;
if (this.queue.length)
{
element = this.queue[this.queueSpace];
if (++this.queueSpace * 2 >= this.queue.length)//???????????
{
this.queue = this.queue.slice(this.queueSpace);
this.queueSpace=0;
}
}
return element;
}
{
var element = undefined;
if (this.queue.length)
{
element = this.queue[this.queueSpace];
if (++this.queueSpace * 2 >= this.queue.length)//???????????
{
this.queue = this.queue.slice(this.queueSpace);
this.queueSpace=0;
}
}
return element;
}
this.queue = [];
this.queueSpace = 0;
窃取this.queue 的后一半(但似乎是长度为单数的时候,this.queue长度为偶数的时候后一半差第一个)
for example function Queue(){
this.queue = [];
this.queueSpace = 0;
};
Queue.prototype.Dequeue = function(){
var element = undefined;
if (this.queue.length)
{
element = this.queue[this.queueSpace];
if (++this.queueSpace * 2 >= this.queue.length)//???????????
{
this.queue = this.queue.slice(this.queueSpace);
this.queueSpace=0;
}
}
return element;
};
(function(ss){
ss.queue=[1,2,3,4,5,6,7,8,9,10,11]
ss.queueSpace = 5;
ss.Dequeue();
alert(ss.queue);
})(new Queue());