前面樓主簡(jiǎn)單介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)棧的實(shí)現(xiàn),http://www.cnblogs.com/qq503665965/p/6537894.html,本次將介紹隊(duì)列的實(shí)現(xiàn)。
隊(duì)列是一種特殊的線性表,特殊之處在于它只允許在表的前端(front)進(jìn)行刪除操作,而在表的后端(rear)進(jìn)行插入操作,和棧一樣,隊(duì)列是一種操作受限制的線性表。進(jìn)行插入操作的端稱為隊(duì)尾,進(jìn)行刪除操作的端稱為隊(duì)頭。
隊(duì)列的兩種主要操作是:向隊(duì)列中插入新元素和刪除隊(duì)列中的元素。插入操作也叫做入隊(duì),刪除操作也叫做出隊(duì)。入隊(duì)操作在隊(duì)尾插入新元素,出隊(duì)操作刪除隊(duì)頭的元素。下圖演示了這兩個(gè)操作。
隊(duì)列的另外一項(xiàng)重要操作是讀取隊(duì)頭的元素。這個(gè)操作叫做 peek() 。該操作返回隊(duì)頭元素,但不把它從隊(duì)列中刪除。除了讀取隊(duì)頭元素,我們還想知道隊(duì)列中存儲(chǔ)了多少元素,可以使用 length 屬性滿足該需求;要想清空隊(duì)列中的所有元素,可以使用 clear() 方法來(lái)實(shí)現(xiàn)。下表定義了隊(duì)列的一些主要方法:
dataStorage | Array | 存儲(chǔ)數(shù)據(jù)的底層數(shù)據(jù)結(jié)構(gòu) |
enqueue | int | 入隊(duì) |
dequeue |
網(wǎng)友評(píng)論 |