zoukankan      html  css  js  c++  java
  • 数据结构----队列

    //算法——队列
    
    /*
    * 队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。
    * 队列是一种先进先出(First-In-First-Out,FIFO)的数据结构
    * 向队列中插入新元素和删除队列中的元素。插入操作也叫做入
     队,删除操作也叫做出队
    
     enqueue: 入列
     dequeue: 出列
     front: 获取列首元素
     back: 获取列尾元素
     toString: 显示队列所有元素
     empty: 判断队列是否为空
    *
    * */
    
    
    function enqueue(element) {
        this.dataStore.push(element);
    }
    function dequeue() {
        return this.dataStore.shift();
    }
    function front() {
        return this.dataStore[0];
    }
    function back() {
        var len = this.dataStore.length;
        return this.dataStore[len-1];
    }
    function toString() {
        var retStr = "";
        for(var i = 0; i< this.dataStore.length; i++){
            retStr += this.dataStore[i] + "
    ";
        }
        return retStr;
    }
    function empty() {
        return this.dataStore.length === 0;
    }
    
    function Queue() {
        this.dataStore = [];
        this.enqueue = enqueue;
        this.dequeue = dequeue;
        this.front = front;
        this.back = back;
        this.toString = toString;
        this.empty = empty;
    }
    
    // var q = new Queue();
    // q.enqueue("张三");
    // q.enqueue("李四");
    // q.enqueue("王五");
    
    var fs = require("fs"),
        females = new Queue(),
        males = new Queue();
    
    var danceList = fs.readFileSync("./dance.txt","utf-8").split("
    "),
        len = danceList.length;
    
    for(var i = 0; i< len ; i++) {
        danceList[i] = danceList[i].trim();
        var sex = danceList[i].split(" ")[0];
        var name = danceList[i].split(" ")[1];
        if (sex === "F") {
            females.enqueue({sex: sex,name: name});
        }else  {
            males.enqueue({sex: sex,name: name});
        }
    }
    
    
    (function dance() {
        console.log("The dance partners are: ");
        while (!females.empty() && !males.empty()) {
            console.log("男舞伴是" + females.dequeue().name,"女舞伴是" + males.dequeue().name);
        }
    })();

     

  • 相关阅读:
    linq in 查询
    sql数据分组取第一条
    获取mac地址
    计算机网络体系结构分层 (OSI TCP/IP)
    2048游戏代码
    go——变量、类型、常量、函数
    关于装饰器 开放封闭
    linux杂碎知识
    crawl——scrapy(配置文件,持久化,请求传递参数,提高爬虫效率,爬虫中间件,集成selenium,去重规则)
    crawl——xpath使用
  • 原文地址:https://www.cnblogs.com/yunnex-xw/p/9831005.html
Copyright © 2011-2022 走看看