2.模拟队列基本操作的代码:
// 队列的初始化;如果队q不存在,则构造一个空队
function initQuene()
{
var quene = [];
return quene;
}
console.log(initQuene())
// 队列的入队操作:对于存在的队列q,插入一个元素x到队尾;
function inQuene(quene,value)
{
quene.push(value);
console.log('quene:'+quene);
return quene;
}
var a = initQuene();
console.log(inQuene(a,'2'));
inQuene(a,'3');
inQuene(a,'4');
console.log("a:"+a);
// 队列的出队操作:队quene存在且非空---删除队首元素,并返回首元素,队变化
function outQuene(quene){
return quene.shift();
}
var out=outQuene(a);
console.log("out:"+out);
console.log("a:"+a);
//读取队头元素:队quene 存在且非空---读取队首元素,并返回其值,队不变
function FrontQuene(quene)
{
var front = quene.shift();
quene.unshift(front); //这样还原回去,是让其队没有发生变化,其实简单的方式一个是数组操作。
return front;
}
var front = FrontQuene(a);
console.log("front:"+front);
console.log("a:"+a);
//判断队空操作 队quene存在,-----如果是空队的话,则返回为1,否则返回0;
function isEmptyQuene(quene)
{
if(quene.length===0)
{
return 1;
}else{
return 0;
}
}
var isEmpty = isEmptyQuene(a);
console.log("isEmpty:"+isEmpty);
3.执行结果: