js实现队列互联网机顶盒实战应用
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 285
/**队列*/Dare.Queue=function(){this.list=newDare.LinkedList()//链表}Dare.extend(Dare.Queue,Dare)/**入队*/

/*
* 队列
*/
Dare.Queue = function () {
  this.list = new Dare.LinkedList();//链表
};
Dare.extend(Dare.Queue, Dare);
/*
* 入队
*/
Dare.Queue.prototype.enQueue = function (data) {
  if (data == null) return;
  var linkedListNode = new Dare.LinkedListNode();
  linkedListNode.data = data;
  this.list.appendNode(linkedListNode);
};
/*
* 出队
*/
Dare.Queue.prototype.deQueue = function () {
  if (this == null) return;
  var linkedListNode = new Dare.LinkedListNode();
  var data = null;
  this.list.start();//指针指向队头
  linkedListNode = this.list.nextNode();
  data = this.list.getNodeData(linkedListNode);
  this.list.moveNode(linkedListNode);
  return data;
};
/*
* 队列长度
*/
Dare.Queue.prototype.sizeQueue = function () {
  if (this == null) return;
  return this.list.getLength();
};
/*
* 队列是否空
*/
Dare.Queue.prototype.isEmpty = function () {
  if (this == null) return;
  return this.list.isempty();
};

 调用示例:

<script type="text/javascript" src="js/linkedlistnode.js"></script>
  <script type="text/javascript" src="js/linkedlist.js"></script>
  <script type="text/javascript" src="js/queue.js"></script>
  <script type="text/javascript">
    var queue = new Dare.Queue();
    function createQueue() {
      for (var i = 0; i < 7; i++) {
        var movie = {};
        movie.id = i;
        movie.name = 'movie_' + i;
        queue.enQueue(movie); //入队
      }
      showQueue(queue); //出队
      //document.write(queue.sizeQueue()); //队列长度
    }
    function showQueue(queue) {
      if (queue == null) return;
      var html = '';
      for (var i = 0; i < 7; i++) {
        var movie = {};
        movie = queue.deQueue(); //出队
        html += movie.id + "|" + movie.name + "<br>";
      }
      document.write(html);
    }
  </script>

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2