日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

JS中数据结构之队列

發(fā)布時(shí)間:2024/4/15 javascript 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS中数据结构之队列 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

隊(duì)列是一種列表,不同的是隊(duì)列只能在隊(duì)尾插入元素,在隊(duì)首刪除元素。隊(duì)列用于存儲(chǔ)按 順序排列的數(shù)據(jù),先進(jìn)先出。

隊(duì)列的兩種主要操作是:向隊(duì)列中插入新元素和刪除隊(duì)列中的元素。插入操作也叫做入 隊(duì),刪除操作也叫做出隊(duì)。入隊(duì)操作在隊(duì)尾插入新元素,出隊(duì)操作刪除隊(duì)頭的元素。

用數(shù)組實(shí)現(xiàn)的隊(duì)列

function Queue() {this.dataStore = [];this.enqueue = enqueue;this.dequeue = dequeue;this.front = front;   this.back = back;this.toString = toString;this.empty = empty; }

enqueue() 方法向隊(duì)尾添加一個(gè)元素:

function enqueue(element) {
  this.dataStore.push(element);
}

dequeue() 方法刪除隊(duì)首的元素:

function dequeue() {
  return this.dataStore.shift();
}

front(),back() 方法讀取隊(duì)首和隊(duì)尾的元素:

function front() {return this.dataStore[0]; } function back() {return this.dataStore[this.dataStore.length-1]; }

toString() 方法顯示隊(duì)列內(nèi)的所有元素:

function toString() {var retStr = "";for (var i = 0; i < this.dataStore.length; ++i) {retStr += this.dataStore[i] + "\n";}   return retStr; }

empty() 方法判斷隊(duì)列是否為空:

function empty() {if (this.dataStore.length == 0) {return true;}else {return false;} }

?

優(yōu)先隊(duì)列

在一般情況下,從隊(duì)列中刪除的元素,一定是率先入隊(duì)的元素。從優(yōu)先隊(duì)列中刪除元素時(shí),需要考慮優(yōu)先權(quán)的限制,在刪除元素時(shí)不必遵守先進(jìn)先出的約定。高優(yōu)先級(jí)的元素優(yōu)先處理。

重新定義 dequeue() 方法,使其刪除隊(duì)列中擁有最高優(yōu)先級(jí)的元素。我們規(guī)定: 優(yōu)先碼的值最小的元素優(yōu)先級(jí)最高。

function dequeue() {var priority = this.dataStore[0].code;var num = 0;for (var i = 1; i < this.dataStore.length; ++i) {if (this.dataStore[i].code < priority) {priority = this.dataStore[i].code;num = i;}}return this.dataStore.splice(num, 1); }

?

轉(zhuǎn)載于:https://www.cnblogs.com/wenxuehai/p/10276379.html

總結(jié)

以上是生活随笔為你收集整理的JS中数据结构之队列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。