zoukankan      html  css  js  c++  java
  • 线性结构_队列

    队列结构

              队列结构(Queue)    一种受限的线性结构

      1. 特点

                    1. 队列是一种受限的线性结构

                    2. 先进先出,后进后出

                    3. 在前端插入,在后端弹出

      2. 队列的应用

                    1. 打印队列

                        打印机取出一个打印一个,直到所有文档被打印

                    2. 线程队列

                        多任务的并行处理时,将所有的人物放入队列,依次启动线程进行处理

      3. 队列的实现

                    基于数组

                    基于链表

      4. 队列的方法

                    1. enqueue(element)     向队列尾部添加一个(或多个)元素

                    2. dequeue()            从队列头部移除一个元素并返回

                    3. front()              返回队列中的第一个元素,此时队列没有被修改

                    4. isEmpty()            判断队列是否为空

                    5. size()               反对队列长度,即队列中元素的个数

                    6. toString()           将队列中的元素转成字符串并返回

      5. 队列的代码实现

    function Queue(){
            // 队列的属性
            this.items = [];
    
            // 队列的方法
            // 1. 向队列尾部添加一个(或多个)元素
            Queue.prototype.enqueue = function(element){
                this.items.push(element);
            }
    
            // 2. 从队列头部移除一个元素并返回
            Queue.prototype.dequeue = function(){
                return this.items.shift();
            }
    
            // 3. 返回队列中的第一个元素,此时队列没有被修改
            Queue.prototype.front = function(){
                return this.items[0];
            }
    
            // 4. 判断队列是否为空
            Queue.prototype.isEmpty = function(){
                return this.items.length == 0;
            }
    
            // 5. 返回队列长度,即队列中元素的个数
            Queue.prototype.size = function(){
                return this.items.length;
            }
    
            // 6. 将队列中的元素转成字符串并返回
            Queue.prototype.toString = function(){
                var res = "";
                for(var i = 0; i < this.items.length; i++){
                    res += this.items[i] + " ";
                }
                return res;
            }
       }
    View Code

  • 相关阅读:
    【问题解决方案】计算机中缺少vcruntime140d.dll
    【学习总结】SQL的学习-1-初识数据库与sql
    【学习总结】SQL的学习-汇总
    【刷题】面筋-测开-软件测试与软件开发的对比
    【刷题】面筋-测开-软件测试岗位的理解+职业规划
    【刷题】面筋-测开-软件测试概述/对测试的理解
    【刷题】面筋-网络-HTTP中get和post对比
    【刷题】面筋-网络-HTTP的请求类型和状态码
    【学习总结】HTTP的几种请求类型和状态码解释
    【刷题】面筋-测开-微波炉测试用例
  • 原文地址:https://www.cnblogs.com/carreyBlog/p/13657016.html
Copyright © 2011-2022 走看看