源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

javascript中利用数组实现的循环队列代码

  • 时间:2020-10-07 05:43 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:javascript中利用数组实现的循环队列代码
//循环队列 function CircleQueue(size){ this.initQueue(size); } CircleQueue.prototype = { //初始化队列 initQueue : function(size){ this.size = size; this.list = new Array(); this.capacity = size + 1; this.head = 0; this.tail = 0; }, //压入队列 enterQueue : function(ele){ if(typeof ele == "undefined" || ele == ""){ return; } var pos = (this.tail + 1) % this.capacity; if(pos == this.head){//判断队列是否已满 return; }else{ this.list[this.tail] = ele; this.tail = pos; } }, //从队列中取出头部数据 delQueue : function(){ if(this.tail == this.head){ //判断队列是否为空 return; }else{ var ele = this.list[this.head]; this.head = (this.head + 1) % this.capacity; return ele; } }, //查询队列中是否存在此元素,存在返回下标,不存在返回-1 find : function(ele){ var pos = this.head; while(pos != this.tail){ if(this.list[pos] == ele){ return pos; }else{ pos = (pos + 1) % this.capacity; } } return -1; }, //返回队列中的元素个数 queueSize : function(){ return (this.tail - this.head + this.capacity) % this.capacity; }, //清空队列 clearQueue : function(){ this.head = 0; this.tail = 0; }, //判断队列是否为空 isEmpty : function(){ if(this.head == this.tail){ return true; }else{ return false; } } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部