Stack representa unacolección de objetos de último en entrar, primero en salir . Se utiliza cuando necesita un acceso de último en entrar, primero en salir a los elementos. Cuando agrega un elemento en la lista, se le llama empujar el elemento y cuando lo elimina, se le llama sacar el elemento. Esta clase se incluye en el espacio de nombres System.Collections .
Características de la clase de pila:
- La capacidad de una Pila es el número de elementos que la Pila puede contener. A medida que se agregan elementos a una pila, la capacidad aumenta automáticamente según sea necesario mediante la reasignación.
- Si Count es menor que la capacidad de la pila, Push es una operación O(1) . Si es necesario aumentar la capacidad para acomodar el nuevo elemento, Push se convierte en una operación O(n) , donde n es Count. Pop es una operación O(1) .
- Stack acepta nulo como un valor válido y permite elementos duplicados.
Constructores
Constructor | Descripción |
---|---|
Pila() | Inicializa una nueva instancia de la clase Stack que está vacía y tiene la capacidad inicial predeterminada. |
Pila (colección I) | Inicializa una nueva instancia de la clase Stack que contiene elementos copiados de la colección especificada y tiene la misma capacidad inicial que el número de elementos copiados. |
Pila (Int32) | Inicializa una nueva instancia de la clase Stack que está vacía y tiene la capacidad inicial especificada o la capacidad inicial predeterminada, la que sea mayor. |
Ejemplo:
// C# code to create a Stack using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a Stack Stack myStack = new Stack(); // Inserting the elements into the Stack myStack.Push("1st Element"); myStack.Push("2nd Element"); myStack.Push("3rd Element"); myStack.Push("4th Element"); myStack.Push("5th Element"); myStack.Push("6th Element"); // Displaying the count of elements // contained in the Stack Console.Write("Total number of elements in the Stack are : "); Console.WriteLine(myStack.Count); // Displaying the top element of Stack // without removing it from the Stack Console.WriteLine("Element at the top is : " + myStack.Peek()); // Displaying the top element of Stack // without removing it from the Stack Console.WriteLine("Element at the top is : " + myStack.Peek()); // Displaying the count of elements // contained in the Stack Console.Write("Total number of elements in the Stack are : "); Console.WriteLine(myStack.Count); } }
Producción:
Total number of elements in the Stack are : 6 Element at the top is : 6th Element Element at the top is : 6th Element Total number of elements in the Stack are : 6
Propiedades
Propiedad | Descripción |
---|---|
Contar | Obtiene el número de elementos contenidos en la pila. |
Está sincronizado | Obtiene un valor que indica si el acceso a la pila está sincronizado (seguro para subprocesos). |
SyncRoot | Obtiene un objeto que se puede usar para sincronizar el acceso a la pila. |
Ejemplo:
// C# code to Get the number of // elements contained in the Stack using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a Stack Stack myStack = new Stack(); // Inserting the elements into the Stack myStack.Push("Chandigarh"); myStack.Push("Delhi"); myStack.Push("Noida"); myStack.Push("Himachal"); myStack.Push("Punjab"); myStack.Push("Jammu"); // Displaying the count of elements // contained in the Stack Console.Write("Total number of elements in the Stack are : "); Console.WriteLine(myStack.Count); } }
Producción:
Total number of elements in the Stack are : 6
Métodos
Método | Descripción |
---|---|
Claro() | Elimina todos los objetos de la pila. |
Clon() | Crea una copia superficial de la pila. |
Contiene (Objeto) | Determina si un elemento está en la pila. |
Copiar a (array, Int32) | Copia la pila en una array unidimensional existente, comenzando en el índice de array especificado. |
Es igual a (Objeto) | Determina si el objeto especificado es igual al objeto actual. |
ObtenerEnumerador() | Devuelve un IEnumerator para la pila. |
Obtener código hash() | Sirve como la función hash predeterminada. |
ObtenerTipo() | Obtiene el Tipo de la instancia actual. |
MemberwiseClone() | Crea una copia superficial del objeto actual. |
Ojeada() | Devuelve el objeto en la parte superior de la pila sin eliminarlo. |
Estallido() | Elimina y devuelve el objeto en la parte superior de la pila. |
Empujar (Objeto) | Inserta un objeto en la parte superior de la Pila. |
sincronizado (pila) | Devuelve un contenedor sincronizado (seguro para subprocesos) para la pila. |
AArray() | Copia la pila en una nueva array. |
Enstringr() | Devuelve una string que representa el objeto actual. |
Ejemplo :
// C# code to Remove all // objects from the Stack using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a Stack Stack myStack = new Stack(); // Inserting the elements into the Stack myStack.Push("1st Element"); myStack.Push("2nd Element"); myStack.Push("3rd Element"); myStack.Push("4th Element"); myStack.Push("5th Element"); myStack.Push("6th Element"); // Displaying the count of elements // contained in the Stack before // removing all the elements Console.Write("Total number of elements in the Stack are : "); Console.WriteLine(myStack.Count); // Removing all elements from Stack myStack.Clear(); // Displaying the count of elements // contained in the Stack after // removing all the elements Console.Write("Total number of elements in the Stack are : "); Console.WriteLine(myStack.Count); } }
Producción:
Total number of elements in the Stack are : 6 Total number of elements in the Stack are : 0
Ejemplo :
// C# code to Check if a Stack // contains an element using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a Stack of strings Stack myStack = new Stack(); // Inserting the elements into the Stack myStack.Push("Geeks"); myStack.Push("Geeks Classes"); myStack.Push("Noida"); myStack.Push("Data Structures"); myStack.Push("GeeksforGeeks"); // Checking whether the element is // present in the Stack or not // The function returns True if the // element is present in the Stack, else // returns False Console.WriteLine(myStack.Contains("GeeksforGeeks")); } }
Producción:
True
Referencia:
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA