@H_403_0@一个用JS数组实现的队列
<div class="cnblogscode">
@H403_0@<span style="color: #008000;">/<span style="color: #008000;">一个用数组实现的队列<span style="color: #008000;">/
<span style="color: #0000ff;">function<span style="color: #000000;"> Queue(){
<span style="color: #0000ff;">this.dataStore = [];<span style="color: #008000;">//<span style="color: #008000;">存放队列的数组,初始化为空
<span style="color: #0000ff;">this.enqueue = enqueue;<span style="color: #008000;">//<span style="color: #008000;">向队列尾部添加一个元素
<span style="color: #0000ff;">this.dequeue = dequeue;<span style="color: #008000;">//<span style="color: #008000;">删除队首的元素
<span style="color: #0000ff;">this.theFront = theFront;<span style="color: #008000;">//<span style="color: #008000;">读取队首的元素
<span style="color: #0000ff;">this.back = back;<span style="color: #008000;">//<span style="color: #008000;">对取队尾的元素
<span style="color: #0000ff;">this.toStrings = toStrings;<span style="color: #008000;">//<span style="color: #008000;">显示队列内的所有元素
<span style="color: #0000ff;">this.empty = empty;<span style="color: #008000;">//<span style="color: #008000;">判断队列是否为空
<span style="color: #000000;">}
<span style="color: #0000ff;">function<span style="color: #000000;"> enqueue(element){
<span style="color: #0000ff;">this<span style="color: #000000;">.dataStore.push(element);
}
<span style="color: #0000ff;">function<span style="color: #000000;"> dequeue(){
<span style="color: #0000ff;">this<span style="color: #000000;">.dataStore.shift();
}
<span style="color: #0000ff;">function<span style="color: #000000;"> theFront(){
<span style="color: #0000ff;">return <span style="color: #0000ff;">this.dataStore[0<span style="color: #000000;">];
}
<span style="color: #0000ff;">function<span style="color: #000000;"> back(){
<span style="color: #0000ff;">return <span style="color: #0000ff;">this.dataStore[<span style="color: #0000ff;">this.dataStore.length-1<span style="color: #000000;">];
}
<span style="color: #0000ff;">function<span style="color: #000000;"> toStrings(){
<span style="color: #0000ff;">return <span style="color: #0000ff;">this<span style="color: #000000;">.dataStore;
}
<span style="color: #0000ff;">function<span style="color: #000000;"> empty(){
<span style="color: #0000ff;">if(<span style="color: #0000ff;">this.dataStore.length == 0<span style="color: #000000;">){
<span style="color: #0000ff;">return <span style="color: #0000ff;">true<span style="color: #000000;">;
}<span style="color: #0000ff;">else<span style="color: #000000;">{
<span style="color: #0000ff;">return <span style="color: #0000ff;">false<span style="color: #000000;">;
}
}
<span style="color: #008000;">/<span style="color: #008000;">测试程序<span style="color: #008000;">/
<span style="color: #0000ff;">var q = <span style="color: #0000ff;">new<span style="color: #000000;"> Queue();
q.enqueue("aa"<span style="color: #000000;">);
q.enqueue("bb"<span style="color: #000000;">);
q.enqueue("cc"<span style="color: #000000;">);
console.log(q.toStrings());<span style="color: #008000;">//<span style="color: #008000;">[ 'aa','bb','cc' ]
<span style="color: #000000;">q.dequeue();
console.log(q.toStrings());<span style="color: #008000;">//<span style="color: #008000;">[ 'bb','cc' ]
console.log(q.theFront());<span style="color: #008000;">//<span style="color: #008000;">bb
console.log(q.back());<span style="color: #008000;">//<span style="color: #008000;">cc