Typescript实现队列的示例代码

 更新时间:2024年08月23日 10:59:08   作者:samroom  
队列作为一种数据结构,在现实生活中它可应用于电影院、自助餐厅等场合,本文主要介绍了Typescript实现队列的示例代码,具有一定的参考价值,感兴趣的可以了解一下

队列的概念

  • 队列是一个先进先出(FIFO)的数据结构。
  • 由于TS中没有队列,所以我们使用数组来模拟一个队列并实现队列的所有功能。

队列图示

队列的操作

  • enqueue(element):向队列尾部添加一个新的项
  • dequeue():移除队列的第一项,并且返回被移除的元素
  • peek():返回队列中的第一个元素
  • isEmpty():判断队列是否为空
  • size():返回队列的元素个数
  • print_queue():打印队列中的元素

代码实现

入队

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]);
        }
    }

代码测试

测试

测试结果如下:

在这里插入图片描述

完整代码

//用数组实现队列
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());

到此这篇关于Typescript实现队列的示例代码的文章就介绍到这了,更多相关Typescript 队列内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • javascript图片滑动效果实现

    javascript图片滑动效果实现

    这篇文章主要介绍了超实用的javascript图片滑动效果实现方法,实例分析了javascript通过对页面元素与相关属性的操作实现滑动菜单效果的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • wangEditor富文本编译器插件学习系列之工具栏配置

    wangEditor富文本编译器插件学习系列之工具栏配置

    这篇文章主要给大家介绍了关于wangEditor富文本编译器插件学习系列之工具栏配置的相关资料,wangEditor是一款基于原生JavaScript封装,开源免费的富文本编辑器,支持常规的文字排版操作、插入图片、插入视频、插入代码等功能,需要的朋友可以参考下
    2023-12-12
  • javascript验证手机号和实现星号(*)代替实例

    javascript验证手机号和实现星号(*)代替实例

    在我们日常开发中经常要验证客户输入的手机号是否正确,有的时候还需要将中间的四位或者前几位用星号(*)代替,那该如何实现呢?下面跟着小编一起来看看。
    2016-08-08
  • JavaScript代码实现春晚刘谦魔术的模拟程序

    JavaScript代码实现春晚刘谦魔术的模拟程序

    昨晚春晚上刘谦的两个魔术表演都非常精彩,尤其是第二个魔术,他演绎了经典的约瑟夫环问题!约瑟夫环是一个经典的数学问题,本文给出了完整的 JavaScript 代码实现,感兴趣的同学可以自己动手实现一下
    2024-02-02
  • JavaScript中this关键词的使用技巧、工作原理以及注意事项

    JavaScript中this关键词的使用技巧、工作原理以及注意事项

    在JavaScript中,this 的概念比较复杂。除了在面向对象编程中,this 还是随处可用的。这篇文章介绍了this 的工作原理,它会造成什么样的问题以及this 的相关例子。
    2014-05-05
  • JavaScript实现购物车案例

    JavaScript实现购物车案例

    这篇文章主要为大家详细介绍了JavaScript实现购物车案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 全面解析Bootstrap弹窗的实现方法

    全面解析Bootstrap弹窗的实现方法

    这篇文章全面解析Bootstrap弹窗的实现方法,对其结构进行详细分析,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 在Uniapp中获取用户地理位置的实现方法

    在Uniapp中获取用户地理位置的实现方法

    本文详细介绍了如何在Uniapp中获取用户的地理位置,包括申请高德地图的Key、配置定位功能以及实现定位功能的代码示例,感兴趣的小伙伴跟着小编一起来看看吧
    2025-02-02
  • JS去除字符串两端空格的简单实例

    JS去除字符串两端空格的简单实例

    本篇文章主要是对JS去除字符串两端空格的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • 详解jQuery事件

    详解jQuery事件

    本文主要介绍了jQuery事件的相关知识。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01

最新评论