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
s
2
=
Stack[Int]()
// pushing multiple values
s
2
.push(
5
,
1
,
2
)
println(
"s2:"
+ s
2
)
}
}
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