zoukankan      html  css  js  c++  java
  • 栈数据结构

    栈 和 堆

    栈是后进先出 比如图书馆放书, 橱柜里的碗

    堆是先进先服务  比如排队购物买东西

    栈是一种遵从后进先出( LIFO)原则的有序集合。新添加的或待删除的元素都保存在栈的同一端,称作栈顶,另一端就叫栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。在现实生活中也能发现很多栈的例子。例如,下图里的一摞书或者餐厅里堆放的盘子, 栈也被用在编程语言的编译器和内存中保存变量、方法调用等。

    创建栈

    function Stack() {

     let items = [];

    // 向栈添加元素

    this.push = function(element){
      items.push(element);
    };

     this.pop = function(){
    return items.pop();
    };
    }

    let stack = new Stack();

    stack.push(5);

    ES6语法创建栈

    class Stack {
    constructor () {
    this.items = []; //{1}
    }
    push(element){
    this.items.push(element);
    }
    //其他方法
    }

    用栈解决问题
    栈的实际应用非常广泛。在回溯问题中,它可以存储访问过的任务或路径、撤销的操作。 Java和C#用栈来存储变量和方
    法调用,特别是处理递归算法时,有可能抛出一个栈溢出异常。

  • 相关阅读:
    pip install
    自动更新高清电影文件中文名
    csv、excel导入oracle
    02_Jenkins配置任务
    01_Jenkins windows安装
    run_jmeter.py
    02_禅道的基本使用
    01_禅道搭建手册
    01_charles 下载安装(破解版)
    06_Linux常见的命令
  • 原文地址:https://www.cnblogs.com/zhaofeis/p/10621630.html
Copyright © 2011-2022 走看看