[关闭]
@JRuiCoder 2016-05-02T08:25:21.000000Z 字数 861 阅读 1185

队列

JavaScript数据结构


队列是一种列表,不同是队列只能在队尾插入元素,在队首删除元素。队列用于存储按顺序排列的数据,先进先出。FIFO。

对队列的操作

主要是两种操作:向队列中插入新元素和删除队列中的元素。插入操作叫做入队,删除操作叫做出队。
读取队头的元素,peek(),该操作返回队头元素,但不删除。
length属性,存储多少元素。
clear(),清空队列中的所有元素。

一个用数组实现的队列

push() 方法可以将它的参数插入数组中第一个开放的位置,该位置总在数组的末尾,即使是个空数组也是如此。使用shift()方法删除数组的第一个元素。

  1. function Queue(){
  2. this.dataStore=[];
  3. this.enqueue=enqueue;
  4. this.dequeue=dequeue;
  5. this.front=front;
  6. this.back=back;
  7. this.toString=toString;
  8. this.empty=empty;
  9. }
  10. /** 向队尾添加一个元素
  11. *
  12. */
  13. function enqueue(element){
  14. this.dataStore.push(element);
  15. }
  16. /**删除队尾的元素
  17. *
  18. */
  19. function dequeue(element){
  20. return this.dataStore.shift();
  21. }
  22. function front(){
  23. return this.dataStore[0];
  24. }
  25. function back(){
  26. return this,dataStore[this.dataStore.length-1];
  27. }
  28. function toString(){
  29. var reStr="";
  30. for(var i=0i<this.dataStore.length;i++){
  31. reStr+=this.dataStore[i]+"\n";
  32. }
  33. return reStr;
  34. }
  35. function empty(){
  36. if(this.dataStore.legnth==0){
  37. return true;
  38. }else{
  39. return false;
  40. }
  41. }

使用队列进行排列

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注