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


Posted in Javascript onJanuary 24, 2010

//循环队列
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;
}
}
}

Javascript 相关文章推荐
用JavaScript计算在UTF-8下存储字符串占用字节数
Aug 08 Javascript
Javascript 浮点运算的问题分析与解决方法
Aug 27 Javascript
javascript中递归函数用法注意点
Jul 30 Javascript
JavaScript对象学习小结
Sep 02 Javascript
js类式继承与原型式继承详解
Apr 07 Javascript
javascript正则表达式之分组概念与用法实例
Jun 16 Javascript
Javascript中this绑定的3种方法与比较
Oct 13 Javascript
简单实现node.js图片上传
Dec 18 Javascript
基于Bootstrap table组件实现多层表头的实例代码
Sep 07 Javascript
详解如何实现一个简单的Node.js脚手架
Dec 04 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
Jun 29 Javascript
Vue仿微信app页面跳转动画效果
Aug 21 Javascript
document.getElementById为空或不是对象的解决方法
Jan 24 #Javascript
JavaScript 未结束的字符串常量常见解决方法
Jan 24 #Javascript
php gethostbyname获取域名ip地址函数详解
Jan 24 #Javascript
setTimeout与setInterval在不同浏览器下的差异
Jan 24 #Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
Jan 24 #Javascript
jQuery 1.4 15个你应该知道的新特性(译)
Jan 24 #Javascript
优化javascript的执行速度
Jan 23 #Javascript
You might like
基于文本的搜索
2006/10/09 PHP
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
2019/06/03 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
javascript iframe编程相关代码
2009/12/28 Javascript
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
angular实现表单验证及提交功能
2017/02/01 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
深入理解令牌认证机制(token)
2019/08/22 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
Vue 中使用lodash对事件进行防抖和节流操作
2020/07/26 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
[42:23]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第二场 12.10
2020/12/13 DOTA
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
Python 运行 shell 获取输出结果的实例
2019/01/07 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
2020/04/25 Python
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
几个数据库方面的面试题
2016/07/01 面试题
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
人事助理自荐信
2014/02/02 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
投资入股合作协议书
2014/10/28 职场文书