前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据结构于JS也可以成为CP(四)队列

数据结构于JS也可以成为CP(四)队列

作者头像
萌兔IT
发布2019-07-26 14:57:18
3490
发布2019-07-26 14:57:18
举报
文章被收录于专栏:萌兔it萌兔it萌兔it

Hello小伙伴们,好久不见,栈说完了,我们就来说说队列吧~这是个和栈遥相呼应的数据结构呢。还记得栈的特点吗,栈只能在栈顶添加或删除。栈是一种后入先出的结构。而队列呢,则相反,只能队尾插入元素、队首删除元素,主要用于存储顺序的数据,先进先出。

队列的实现

我们根据队列的特点,思考一下我们需要怎样的操作呢?首先要有个数据元素的容器,因此我们需要一个数组;然后我们要满足能够从队尾插入数据,那么我们需要push方法;我们需要能够删除队首的元素,因此我们需要一个shift方法,这里可别记反了(unshift才是插入哦);那么我们既然完成了队列的功能,那就还需要把它显示出来啦,所以还需要一个toString方法咯。最后如果想判断队列是否为空,我们就可以通过数组长度来判断啦。好啦,思路到此为止,下面就让我们看看具体怎么实现咯!

function Queue(){
  this.dataStore=[];
  this.enqueue=enqueue;
  this.dequeue=dequeue;
  this.front=front;
  this.back=back;
  this.toString=toString;
  this.empty=empty;
}
function enqueue(element){
  this.dataStore.push(element);
}
function dequeue(){
  this.dataStore.shift();
}
function front(){
  return this.dataStore[0];
}
function back(){
  return this.dataStore[this.dataStore.length-1];
}
function toString(){
  var retStr="";
  for(var i=0; i<this.dataStore.length;++i){
    retStr+=this.dataStore[i]+"\n";
  }
  return retStr;
}
function empty(){
  if(this.dataStore.length==0){
    return true;
  }else{
    return false;
  }
}

队列的使用

小伙伴们,现在是否能够独立完成一个队列数据结构的构造了呢?下面就让我们看看队列都能放在哪里使用吧~

1)数据排序:对各个位上的数字进行排序,先排序个位、再排十位。这是排序的一种思路。

2)优先队列:如果删除元素的时候需要删的并不是首元素,这时候就需要优先队列了,这里我们就要设置一下优先等级了。

3)在现实生活中,也会用到,比如医院病人的紧急程度、比如排队做什么事情等。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萌兔it 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档