Pila en Scala

Una pila es una estructura de datos que sigue el principio de último en entrar, primero en salir (LIFO). Podemos agregar o eliminar elementos solo desde un extremo llamado top . Scala tiene versiones mutables e inmutables de una pila.
Sintaxis:

import scala.collection.mutable.Stack
var s = Stack[type]()

// OR
var s = Stack(val1, val2, val3, ...)
Operaciones en la pila

Una vez que se ha creado la pila, podemos empujar elementos a la pila o sacarlos de la pila.

  • Empujar : podemos empujar elementos de cualquier tipo a la pila usando la función empujar() . Todos los elementos deben tener el mismo tipo de datos.
    Ejemplo :

    // Scala program to
    // push element
    // to the stack
      
    import scala.collection.mutable.Stack
      
    // Creating object
    object GfG
    {
          
        // Main method
        def main(args:Array[String])
        {
      
            var s = Stack[Int]()
          
            // pushing values
            // one at a time
            s.push(5)
            s.push(1)
            s.push(2)
            println("s:" + s)
      
            var s2 = Stack[Int]()
      
            // pushing multiple values
            s2.push(5,1,2)
            println("s2:" + s2)
          
        }
    }

    Salida :

    s:Stack(2, 1, 5)
    s2:Stack(2, 1, 5)
  • Pop : podemos sacar un elemento de la parte superior de la pila usando la función pop . La función devuelve el mismo tipo que el de los elementos de la pila.
    Ejemplo :

    // Scala program to
    // pop element from
    // top of the stack
      
    import scala.collection.mutable.Stack
      
    // Creating object
    object GfG
    {
          
        // Main method
        def main(args:Array[String])
        {
      
            var s = Stack[Int]()
      
            s.push(5)
            s.push(1)
            s.push(2)
            println(s)
      
            // pop element from
            // top of the stack
      
            println("Popped:" + s.pop)
            println("Popped:" + s.pop)
            println("Popped:" + s.pop)
        }
    }

    Salida :

    Stack(2, 1, 5)
    Popped:2
    Popped:1
    Popped:5
Otras funciones

Otras funciones:
analicemos algunas funciones más con ejemplos.

  • isEmpty : para comprobar si la pila está vacía. Devuelve verdadero si está vacío.
    Ejemplo :

    // Scala program to
    // check if the stack
    // is empty
      
    import scala.collection.mutable.Stack
      
    // Creating object
    object GfG
    {
          
        // Main method
        def main(args:Array[String])
        {
      
            var s = Stack[Int]()
      
            s.push(5)
            s.push(1)
            s.push(2)
            println(s)
      
            // pop element from
            // top of the stack
      
            println("Popped:" + s.pop)
            println("Popped:" + s.pop)
            println("Empty:" + s.isEmpty)
            println("Popped:" + s.pop)
      
            // all three elements popped
            println("Empty:" + s.isEmpty)
        }
    }

    Salida :

    Stack(2, 1, 5)
    Popped:2
    Popped:1
    Empty:false
    Popped:5
    Empty:true
  • top : Devuelve el elemento que se encuentra actualmente en la parte superior de la pila.
    Ejemplo :

    // Scala program to
    // print top of stack
      
    import scala.collection.mutable.Stack
      
    // Creating object
    object GfG
    {
          
        // Main method
        def main(args:Array[String])
        {
      
            var s = Stack[Int]()
      
            s.push(5)
            s.push(1)
            s.push(2)
            println(s)
            println("Top: " + s.top)
            println("Popped:" + s.pop)
            println("Top: " + s.top)
        }
    }

    Salida :

    Stack(2, 1, 5)
    Top: 2
    Popped:2
    Top: 1
  • tamaño : Devuelve el número de elementos presentes en la pila.
    Ejemplo :

    // Scala program to
    // print size of the stack
      
    import scala.collection.mutable.Stack
      
    // Creating object
    object GfG
    {
          
        // Main method
        def main(args:Array[String])
        {
      
            var s = Stack[Int]()
      
            s.push(5)
            s.push(1)
            s.push(2)
            println(s)
            println("Size: " + s.size)
            println("Popped:" + s.pop)
            println("Size: " + s.size)
        }
    }

    Salida :

    Stack(2, 1, 5)
    Size: 3
    Popped:2
    Size: 2

Publicación traducida automáticamente

Artículo escrito por MohammadKhalid y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *