数据结构:JavaScript实现队列

绝地灬酷狼 2022-08-20 04:14 339阅读 0赞

队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。

队列用于存储按顺序排列的数据,先进先出,可以将队列想象成在食堂排队打饭的人群,排在队伍最前面的人第一个打饭,新来的人只能在最后面排队,直到轮到他们为止。

队列是一种先进先出(First-In-First-Out,FIFO)的数据结构

代码如下

  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. function enqueue(element){
  12. this.dataStore.push(element);
  13. }
  14. //实现出队的函数
  15. function dequeue(){
  16. return this.dataStore.shift();
  17. }
  18. //查看队列中第一个元素
  19. function front(){
  20. return this.dataStore[0];
  21. }
  22. //查看队列中最后一个元素
  23. function back(){
  24. return this.dataStore[this.dataStore.length - 1];
  25. }
  26. function toString(){
  27. var retStr = "";
  28. for(var i = 0; i < this.dataStore.length; ++i){
  29. retStr += this.dataStore[i] + "\n";
  30. }
  31. return retStr;
  32. }
  33. function empty(){
  34. if(this.dataStore.length == 0){
  35. return true;
  36. }else{
  37. return false;
  38. }
  39. }

测试一下

  1. //测试一下!
  2. var q = new Queue();
  3. q.enqueue("mary");
  4. q.enqueue("jack");
  5. q.enqueue("lily");
  6. console.log(q.toString());
  7. q.dequeue();
  8. console.log(q.toString());
  9. console.log("front of queue:" + q.front());
  10. console.log("back of queue:" + q.back());

结果如下

Center

发表评论

表情:
评论列表 (有 0 条评论,339人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数据结构:JavaScript实现队列

    队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。 队列用于存储按顺序排列的数据,先进先出,可以将队列想象成在食堂排队打饭的人群,排在队伍最前面的人第一个打饭,

    相关 数据结构——队列(Java实现

    编程实现对循环链队列的入队和出队操作。 ⑴根据输入的队列长度n和各元素值建立一个带头结点的循环链表表示的队列(循环链队列),并且只设一个尾指针来指向尾结点,然后输出队列中各元

    相关 Python实现队列数据结构

    队列是一种应用广泛的数据结构,是一种只允许在一端进行插入操作,另一端进行删除操作的线性表,具有先进先出(First-In-First-Out)的原则。队列的两种主要操作是:向队