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

1.9 KiB

title localeTitle
Create a Stack Class Crie uma classe de pilha

Crie uma classe de pilha

Método:

  • Stack é uma estrutura de dados abstrata.
  • Pilha segue o princípio LIFO / FILO.

- Neste desafio, precisamos adicionar os .push() , .pop() , .peek() , .isEmpty() e .clear() à classe.

  • push() método push() envia valor para a pilha.
  • pop() método pop() mostra o primeiro valor da pilha.
  • peek() método peek() retorna o primeiro valor da pilha.
  • isEmpty() método isEmpty() verifica se a pilha está vazia.

- .clear() método .clear() remove todos os elementos da pilha.

| DS | Acesso | Pesquisa | Inserir | Excluir | | ----- | ------ | ------ | ------ | ------ | | Pilha | n | n | 1 | 1 |

Solução:

Básico:

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; 
    } 
 } 

Avançado - Sintaxe da classe 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; 
    } 
 } 

### Recursos: