Una cola es una estructura de datos primero en entrar, primero en salir (FIFO). Scala ofrece una cola inmutable y una cola mutable. Una cola mutable se puede actualizar o ampliar en su lugar. Significa que uno puede cambiar, agregar o eliminar elementos de una cola como efecto secundario. La cola inmutable, por el contrario, nunca cambia.
En Scala, Queue se implementa como un par de listas. Uno se usa para insertar los elementos y el segundo para contener elementos eliminados. Los elementos se agregan a la primera lista y se eliminan de la segunda lista. Las dos operaciones más básicas de Queue son Enqueue y Dequeue .
- Enqueue : agregar un elemento al final de la cola.
- Dequeue : eliminar un elemento del principio de la cola.
Métodos en cola:
- +=: este método se usa para agregar un solo elemento al final de la cola.
- ++=: Este método se usa para Insertar más de un elemento al final de la cola.
- clear: elimina todos los elementos de la cola.
- dequeue: Devuelve el primer elemento de la cola
- enqueue: agrega todos los elementos a la cola.
- es igual a: Comprueba si dos colas son estructuralmente idénticas.
- front: Devuelve el primer elemento de la cola.
- isEmpty: Comprueba si la cola está vacía o no.
A continuación se muestran programas simples de Scala para demostrar estas operaciones:
Ejemplo 1:
// Scala program for illustrating Queue // Import Queue import scala.collection.mutable._ // Creating object object GfG { // Main method def main(args:Array[String]) { // Initialize a queue var q1 = Queue(1, 2, 3, 4, 5) // Print the elements of queue print("Queue Elements: ") q1.foreach((element:Int) => print(element+" ")) // Print the first element of the queue var firstElement = q1.front println("\nFirst element in the queue: "+ firstElement) // Enqueue 10 in the queue q1.enqueue(10) // Print the elements of queue print("Queue Elements after enqueue: ") q1.foreach((element:Int) => print(element+" ")) // Dequeue first element from the queue var deq = q1.dequeue // Print the elements of queue print("\nQueue Elements after dequeue: ") q1.foreach((element:Int) => print(element+" ")) // Print the Dequeued element print("\nDequeued element: " + deq) // using isEmpty method println("\nQueue is empty: "+ q1.isEmpty) } }
Queue Elements: 1 2 3 4 5 First element in the queue: 1 Queue Elements after enqueue: 1 2 3 4 5 10 Queue Elements after dequeue: 2 3 4 5 10 Dequeued element: 1 Queue is empty: false
Ejemplo 2:
// Scala program for illustrating Queue // Import Queue import scala.collection.mutable._ // Creating object object GfG { // Main method def main(args:Array[String]) { // Initialize a queue var fruits = Queue[String]() // Adding elements to the queue fruits.enqueue("apple") fruits.enqueue("banana") fruits.enqueue("mango") fruits.enqueue("guava") // Print the elements of queue print("Queue Elements: ") fruits.foreach((element:String) => print(element+" ")) // Print the first element of the queue var firstElement = fruits.front println("\nFirst element in the queue: "+ firstElement) // Enqueue pineapple in the queue fruits.enqueue("pineapple") // Print the elements of queue print("Queue Elements after enqueue: ") fruits.foreach((element:String) => print(element+" ")) // Dequeue first element from the queue var deq = fruits.dequeue // Print the elements of queue print("\nQueue Elements after dequeue: ") fruits.foreach((element:String) => print(element+" ")) // Print the Dequeued element print("\nDequeued element: " + deq) // Using clear method println("\nclear the queue: "+ fruits.clear) // Using isEmpty method println("\nqueue is empty: "+ fruits.isEmpty) } }
Queue Elements: apple banana mango guava First element in the queue: apple Queue Elements after enqueue: apple banana mango guava pineapple Queue Elements after dequeue: banana mango guava pineapple Dequeued element: apple clear the queue:() queue is empty:true
Publicación traducida automáticamente
Artículo escrito por rupesh_rao y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA