Typescript實現(xiàn)隊列的示例代碼
更新時間:2024年08月23日 10:59:08 作者:samroom
隊列作為一種數(shù)據(jù)結(jié)構(gòu),在現(xiàn)實生活中它可應(yīng)用于電影院、自助餐廳等場合,本文主要介紹了Typescript實現(xiàn)隊列的示例代碼,具有一定的參考價值,感興趣的可以了解一下
隊列的概念
- 隊列是一個先進先出(FIFO)的數(shù)據(jù)結(jié)構(gòu)。
- 由于TS中沒有隊列,所以我們使用數(shù)組來模擬一個隊列并實現(xiàn)隊列的所有功能。
隊列的操作
- enqueue(element):向隊列尾部添加一個新的項
- dequeue():移除隊列的第一項,并且返回被移除的元素
- peek():返回隊列中的第一個元素
- isEmpty():判斷隊列是否為空
- size():返回隊列的元素個數(shù)
- print_queue():打印隊列中的元素
代碼實現(xiàn)
入隊
enqueue(item:T){ this.items.push(item); }
移除隊首元素
//刪除第一個元素并且返回被刪除的元素 dequeue(){ return this.items.shift(); }
返回隊首元素
//返回隊列中的第一個元素 peek(){ return this.items[0]; }
判斷隊列是否為空
//判斷隊列是否為空 isEmpty(){ return this.items.length ? false : true; }
獲取隊列的大小
//返回隊列大小 size(){ return this.items.length; }
打印隊列中的元素
//打印隊列中的元素 print_queue(){ for(let i =0;i<this.items.length;i++){ console.log(this.items[i]); } }
代碼測試
測試結(jié)果如下:
完整代碼
//用數(shù)組實現(xiàn)隊列 class queue<T>{ private items:T[] constructor(){ this.items = []; } enqueue(item:T){ this.items.push(item); } //刪除第一個元素并且返回被刪除的元素 dequeue(){ return this.items.shift(); } //返回隊列中的第一個元素 peek(){ return this.items[0]; } //判斷隊列是否為空 isEmpty(){ return this.items.length ? false : true; } //返回隊列大小 size(){ return this.items.length; } //打印隊列中的元素 print_queue(){ for(let i =0;i<this.items.length;i++){ console.log(this.items[i]); } } } let queue_example= new queue(); queue_example.enqueue(10) queue_example.enqueue('熊大') if(queue_example.isEmpty()){console.log('隊列為空')} else{console.log('隊列非空')} queue_example.print_queue(); console.log('隊首元素是:'+queue_example.peek()); queue_example.dequeue() console.log(queue_example.peek());
到此這篇關(guān)于Typescript實現(xiàn)隊列的示例代碼的文章就介紹到這了,更多相關(guān)Typescript 隊列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
wangEditor富文本編譯器插件學(xué)習(xí)系列之工具欄配置
這篇文章主要給大家介紹了關(guān)于wangEditor富文本編譯器插件學(xué)習(xí)系列之工具欄配置的相關(guān)資料,wangEditor是一款基于原生JavaScript封裝,開源免費的富文本編輯器,支持常規(guī)的文字排版操作、插入圖片、插入視頻、插入代碼等功能,需要的朋友可以參考下2023-12-12javascript驗證手機號和實現(xiàn)星號(*)代替實例
在我們?nèi)粘i_發(fā)中經(jīng)常要驗證客戶輸入的手機號是否正確,有的時候還需要將中間的四位或者前幾位用星號(*)代替,那該如何實現(xiàn)呢?下面跟著小編一起來看看。2016-08-08JavaScript代碼實現(xiàn)春晚劉謙魔術(shù)的模擬程序
昨晚春晚上劉謙的兩個魔術(shù)表演都非常精彩,尤其是第二個魔術(shù),他演繹了經(jīng)典的約瑟夫環(huán)問題!約瑟夫環(huán)是一個經(jīng)典的數(shù)學(xué)問題,本文給出了完整的 JavaScript 代碼實現(xiàn),感興趣的同學(xué)可以自己動手實現(xiàn)一下2024-02-02JavaScript中this關(guān)鍵詞的使用技巧、工作原理以及注意事項
在JavaScript中,this 的概念比較復(fù)雜。除了在面向?qū)ο缶幊讨?,this 還是隨處可用的。這篇文章介紹了this 的工作原理,它會造成什么樣的問題以及this 的相關(guān)例子。2014-05-05