博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js实现队列互联网机顶盒实战应用
阅读量:7165 次
发布时间:2019-06-29

本文共 1556 字,大约阅读时间需要 5 分钟。

/*

* 队列
*/
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>

转载地址:http://humwm.baihongyu.com/

你可能感兴趣的文章