開題

    張三豐教無忌太極劍法:
        還記得嗎?
        全都記得.
        現(xiàn)在呢?
        已經(jīng)忘卻了一小半.
        啊,已經(jīng)忘了一大半.
        不壞不壞,忘得真快,那么現(xiàn)在呢?
        已經(jīng)全都忘了,忘得干干凈凈.
        好了,你上吧.

長(zhǎng)時(shí)間寫前端代碼,將自己以前的積累都忘得一干二凈,所以開了一個(gè)關(guān)于JS的數(shù)據(jù)結(jié)構(gòu)系列,在業(yè)務(wù)型程序員的基礎(chǔ)上,也要實(shí)時(shí)的優(yōu)化自己的代碼,讓自己的代碼有思想是每個(gè)程序員最自豪的事情。

本文目錄

隊(duì)列介紹:

相信任何有些編程基礎(chǔ)的人都對(duì)隊(duì)列不算陌生,隊(duì)列是一種先進(jìn)先出的接口,也就是FIFO(First Input First Output),它也是一種表結(jié)構(gòu)。在隊(duì)列的隊(duì)尾插入數(shù)據(jù),在隊(duì)首刪除數(shù)據(jù),可以想象成我們每天早晨買豆?jié){時(shí)隊(duì)伍。

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

隊(duì)列只要有兩個(gè)主要的功能:出隊(duì)(push)和入隊(duì)(pop)。入隊(duì)操作在隊(duì)尾插入新的元素,出隊(duì)操作返回并刪除隊(duì)首的元素。有時(shí)候我們只需要獲取隊(duì)首和隊(duì)尾但并不一定非要執(zhí)行隊(duì)列的出隊(duì)和入隊(duì)行為,所以我們又需要一個(gè)獲取隊(duì)首(getFirst)和隊(duì)尾(getLast)的行為。有時(shí)我們也有全部清空本隊(duì)列的動(dòng)作,所以還要有clear方法。除了以上提到的我們還需要知道隊(duì)列中有多少個(gè)元素,可以用length去獲取。

JavaScript實(shí)現(xiàn):

使用數(shù)組的push方法和shift方法可