Una cola se utiliza para representar una colección de objetos primero en entrar, primero en salir (FIFO). Se utiliza cuando se necesita acceso a los elementos por orden de entrada. Es el tipo de colección no genérico que se define en el espacio de System.Collections
nombres. Se utiliza para crear una colección dinámica que crece, según la necesidad de su programa. En Queue, puede almacenar elementos del mismo tipo y de diferentes tipos. En general, una cola es útil cuando accede a esa información de la misma manera en que se almacenó en la colección y es un almacenamiento temporal para almacenar datos.
El siguiente diagrama ilustra la jerarquía de clases de cola:
Puntos importantes:
- La clase Queue implementa las interfaces IEnumerable , ICollection e ICloneable .
- Cuando agrega un elemento en la lista, se llama poner en cola .
- cuando elimina un elemento, se llama dequeue .
- La cola acepta nulo como un valor válido para los tipos de referencia.
- A medida que se agregan elementos a una cola, la capacidad aumenta automáticamente según sea necesario mediante la reasignación de la array interna.
- En Queue, puede almacenar elementos duplicados.
- La capacidad de una Cola es el número de elementos que la Cola puede contener.
¿Cómo crear la cola?
La clase Queue tiene cuatro constructores que se utilizan para crear la cola, que son los siguientes:
- Queue(): este constructor se usa para crear una instancia de la clase Queue que está vacía y tiene la capacidad inicial predeterminada, y usa el factor de crecimiento predeterminado.
- Queue(ICollection): este constructor se usa para crear una instancia de la clase Queue que contiene elementos copiados de la colección especificada, tiene la misma capacidad inicial que la cantidad de elementos copiados y usa el factor de crecimiento predeterminado.
- Queue(Int32): este constructor se usa para crear una instancia de la clase Queue que está vacía y tiene una capacidad inicial especificada, y usa el factor de crecimiento predeterminado.
- Queue(Int32, Single): este constructor se usa para crear una instancia de la clase Queue que está vacía y tiene una capacidad inicial especificada, y usa el factor de crecimiento especificado.
Veamos cómo crear una cola usando el constructor Queue():
Paso 1: Incluya el espacio de nombres System.Collections en su programa con la ayuda del uso de palabras clave.
Sintaxis:
using System.Collections;
Paso 2: Cree una cola usando la clase Queue como se muestra a continuación:
Queue queue_name = new Queue();
Paso 3: si desea agregar elementos en su cola, use el método Enqueue() para agregar elementos en su cola. Como se muestra en el siguiente ejemplo.
Ejemplo:
// C# program to illustrate queue using System; using System.Collections; public class GFG { static public void Main() { // Create a queue // Using Queue class Queue my_queue = new Queue(); // Adding elements in Queue // Using Enqueue() method my_queue.Enqueue("GFG"); my_queue.Enqueue(1); my_queue.Enqueue(100); my_queue.Enqueue(null); my_queue.Enqueue(2.4); my_queue.Enqueue("Geeks123"); // Accessing the elements // of my_queue Queue // Using foreach loop foreach(var ele in my_queue) { Console.WriteLine(ele); } } }
GFG 1 100 2.4 Geeks123
¿Cómo eliminar elementos de la Cola?
En Cola, puede eliminar elementos de la cola. La clase Queue proporciona dos métodos diferentes para eliminar elementos y los métodos son:
- Borrar : este método se utiliza para eliminar los objetos de la cola.
- Dequeue : este método elimina el elemento inicial de la cola.
Ejemplo:
// C# program to illustrate how // to remove elements from queue using System; using System.Collections; public class GFG { static public void Main() { // Create a queue // Using Queue class Queue my_queue = new Queue(); // Adding elements in Queue // Using Enqueue() method my_queue.Enqueue( "GFG" ); my_queue.Enqueue(1); my_queue.Enqueue(100); my_queue.Enqueue(2.4); my_queue.Enqueue( "Geeks123" ); Console.WriteLine( "Total elements present in my_queue: {0}" , my_queue.Count); my_queue.Dequeue(); // After Dequeue method Console.WriteLine( "Total elements present in my_queue: {0}" , my_queue.Count); // Remove all the elements from the queue my_queue.Clear(); // After Clear method Console.WriteLine( "Total elements present in my_queue: {0}" , my_queue.Count); } } |
Total elements present in my_queue: 5 Total elements present in my_queue: 4 Total elements present in my_queue: 0
¿Cómo obtener el elemento superior de la cola?
En Queue, puede encontrar fácilmente el elemento superior de la cola utilizando los siguientes métodos proporcionados por la clase Queue:
- Peek : este método devuelve el objeto al principio de la cola sin eliminarlo.
- Dequeue : este método devuelve el objeto al comienzo de la cola con modificación, lo que significa que este método elimina el elemento superior de la cola.
Ejemplo:
// C# program to illustrate how // get topmost elements of the queue using System; using System.Collections; public class GFG { static public void Main() { // Create a queue // Using Queue class Queue my_queue = new Queue(); // Adding elements in Queue // Using Enqueue() method my_queue.Enqueue( "GFG" ); my_queue.Enqueue( "Geeks" ); my_queue.Enqueue( "GeeksforGeeks" ); my_queue.Enqueue( "geeks" ); my_queue.Enqueue( "Geeks123" ); Console.WriteLine( "Total elements present in my_queue: {0}" , my_queue.Count); // Obtain the topmost element of my_queue // Using Dequeue method Console.WriteLine( "Topmost element of my_queue" + " is: {0}" , my_queue.Dequeue()); Console.WriteLine( "Total elements present in my_queue: {0}" , my_queue.Count); // Obtain the topmost element of my_queue // Using Peek method Console.WriteLine( "Topmost element of my_queue is: {0}" , my_queue.Peek()); Console.WriteLine( "Total elements present in my_queue: {0}" , my_queue.Count); } } |
Total elements present in my_queue: 5 Topmost element of my_queue is: GFG Total elements present in my_queue: 4 Topmost element of my_queue is: Geeks Total elements present in my_queue: 4
¿Cómo verificar la disponibilidad de elementos en la cola?
En Queue, puede verificar si el elemento dado está presente o no usando el método Contain(). O, en otras palabras, si desea buscar un elemento en la cola dada, use el método contains() .
Ejemplo:
// C# program to illustrate how // to check element present in // the queue or not using System; using System.Collections; class GFG { static public void Main() { // Create a queue // Using Queue class Queue my_queue = new Queue(); // Adding elements in Queue // Using Enqueue() method my_queue.Enqueue("GFG"); my_queue.Enqueue("Geeks"); my_queue.Enqueue("GeeksforGeeks"); my_queue.Enqueue("geeks"); my_queue.Enqueue("Geeks123"); // Checking if the element is // present in the Queue or not if (my_queue.Contains("GeeksforGeeks") == true) { Console.WriteLine("Element available...!!"); } else { Console.WriteLine("Element not available...!!"); } } }
Element available...!!
Cola genérica frente a cola no genérica
Cola genérica | Cola no genérica |
---|---|
La cola genérica se define en el espacio de nombres System.Collections.Generic. | La cola no genérica se define en el espacio de nombres System.Collections. |
La cola genérica solo puede almacenar el mismo tipo de elementos. | La cola no genérica puede almacenar el mismo tipo o diferentes tipos de elementos. |
Es necesario definir el tipo de elementos en la cola. | No es necesario definir el tipo de los elementos en la cola. |
Es de tipo seguro. | No es de tipo seguro. |
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA