Typescript實(shí)現(xiàn)隊列的示例代碼
隊列的概念
- 隊列是一個先進(jìn)先出(FIFO)的數(shù)據(jù)結(jié)構(gòu)。
- 由于TS中沒有隊列,所以我們使用數(shù)組來模擬一個隊列并實(shí)現(xiàn)隊列的所有功能。
隊列的操作
- enqueue(element):向隊列尾部添加一個新的項(xiàng)
- dequeue():移除隊列的第一項(xiàng),并且返回被移除的元素
- peek():返回隊列中的第一個元素
- isEmpty():判斷隊列是否為空
- size():返回隊列的元素個數(shù)
- print_queue():打印隊列中的元素
代碼實(shí)現(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ù)組實(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實(shí)現(xiàn)隊列的示例代碼的文章就介紹到這了,更多相關(guān)Typescript 隊列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
wangEditor富文本編譯器插件學(xué)習(xí)系列之工具欄配置
這篇文章主要給大家介紹了關(guān)于wangEditor富文本編譯器插件學(xué)習(xí)系列之工具欄配置的相關(guān)資料,wangEditor是一款基于原生JavaScript封裝,開源免費(fèi)的富文本編輯器,支持常規(guī)的文字排版操作、插入圖片、插入視頻、插入代碼等功能,需要的朋友可以參考下2023-12-12javascript驗(yàn)證手機(jī)號和實(shí)現(xiàn)星號(*)代替實(shí)例
在我們?nèi)粘i_發(fā)中經(jīng)常要驗(yàn)證客戶輸入的手機(jī)號是否正確,有的時候還需要將中間的四位或者前幾位用星號(*)代替,那該如何實(shí)現(xiàn)呢?下面跟著小編一起來看看。2016-08-08JavaScript代碼實(shí)現(xiàn)春晚劉謙魔術(shù)的模擬程序
昨晚春晚上劉謙的兩個魔術(shù)表演都非常精彩,尤其是第二個魔術(shù),他演繹了經(jīng)典的約瑟夫環(huán)問題!約瑟夫環(huán)是一個經(jīng)典的數(shù)學(xué)問題,本文給出了完整的 JavaScript 代碼實(shí)現(xiàn),感興趣的同學(xué)可以自己動手實(shí)現(xiàn)一下2024-02-02JavaScript中this關(guān)鍵詞的使用技巧、工作原理以及注意事項(xiàng)
在JavaScript中,this 的概念比較復(fù)雜。除了在面向?qū)ο缶幊讨?,this 還是隨處可用的。這篇文章介紹了this 的工作原理,它會造成什么樣的問題以及this 的相關(guān)例子。2014-05-05全面解析Bootstrap彈窗的實(shí)現(xiàn)方法
這篇文章全面解析Bootstrap彈窗的實(shí)現(xiàn)方法,對其結(jié)構(gòu)進(jìn)行詳細(xì)分析,感興趣的小伙伴們可以參考一下2015-12-12在Uniapp中獲取用戶地理位置的實(shí)現(xiàn)方法
本文詳細(xì)介紹了如何在Uniapp中獲取用戶的地理位置,包括申請高德地圖的Key、配置定位功能以及實(shí)現(xiàn)定位功能的代碼示例,感興趣的小伙伴跟著小編一起來看看吧2025-02-02