freeCodeCamp/guide/chinese/certifications/coding-interview-prep/data-structures/create-a-stack-class/index.md

1.8 KiB
Raw Blame History

title localeTitle
Create a Stack Class 创建一个堆栈类

创建一个堆栈类

方法:

  • Stack是一种抽象的数据结构。
  • 堆栈遵循LIFO / FILO原则。

-在这个挑战,我们需要添加.push() .pop() .peek() .isEmpty().clear()方法的类。

  • push()方法将值推送到堆栈。
  • pop()方法弹出堆栈中的第一个值。
  • peek()方法返回堆栈中的第一个值。
  • isEmpty()方法检查堆栈是否为空。

- .clear()方法从堆栈中删除所有元素。

| DS |访问|搜索|插入|删除| | ----- | ------ | ------ | ------ | ------ | |堆栈| n | n | 1 | 1 |

解:

基础:

function Stack() { 
    var collection = []; 
    this.print = function() { 
        console.log(collection); 
    }; 
    this.push = function(val){ 
        return collection.push(val); 
    } 
    this.pop = function(){ 
        return collection.pop(); 
    } 
    this.peek = function(){ 
        return collection[collection.length-1]; 
    } 
    this.isEmpty = function(){ 
        return collection.length === 0; 
    } 
    this.clear = function(){ 
        collection.length = 0; 
    } 
 } 

高级 - ES6类语法

class Stack { 
    constructor() { 
        this.collection = []; 
    } 
    print(){ 
        console.log(this.collection); 
    } 
    push(val){ 
        retiurn this.collection.push(val); 
    } 
    pop(){ 
        return this.collection.pop(); 
    } 
    peek(){ 
        return this.collection[this.collection.length-1]; 
    } 
    isEmpty(){ 
        return this.collection.length === 0; 
    } 
    clear(){ 
        return this.collection.length = 0; 
    } 
 } 

###资源: