C# | Copie la pila a una array

El método Stack<T>.CopyTo(T[], Int32) se usa para copiar Stack<T> en una array 1-D existente que comienza desde el índice de array especificado.

Propiedades:

  • La capacidad de Stack<T> es la cantidad de elementos que Stack<T> puede contener. A medida que se agregan elementos a Stack<T> , la capacidad aumenta automáticamente según sea necesario mediante la reasignación.
  • Si Count es menor que la capacidad de Stack<T> , 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.

Sintaxis:

public void CopyTo (T[] array, int arrayIndex);

Parámetros:

array: la array unidimensional que es el destino de los elementos copiados de Stack< T >. El Array debe tener una indexación basada en cero.

arrayIndex: el índice basado en cero en la array en el que comienza la copia.

Excepciones:

  • ArgumentNullException: si una array es nula.
  • ArgumentOutOfRangeException: si arrayIndex es menor que cero.
  • ArgumentException: la cantidad de elementos en la fuente Stack< T > es mayor que el espacio disponible desde arrayIndex hasta el final de la array de destino.

A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:

Ejemplo 1:

// C# code to Copy the Stack to an Array
using System;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Stack of strings
        Stack<string> myStack = new Stack<string>();
  
        // Inserting the elements into the Stack
        myStack.Push("Geeks");
        myStack.Push("Geeks Classes");
        myStack.Push("Noida");
        myStack.Push("Data Structures");
        myStack.Push("GeeksforGeeks");
  
        // Creating a string array arr
        string[] arr = new string[myStack.Count];
  
        // Copying the elements of stack into array arr
        myStack.CopyTo(arr, 0);
  
        // Displaying the elements in array arr
        foreach(string str in arr)
        {
            Console.WriteLine(str);
        }
    }
}
Producción:

GeeksforGeeks
Data Structures
Noida
Geeks Classes
Geeks

Ejemplo 2:

// C# code to Copy the Stack to an Array
using System;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a Stack of Integers
        Stack<int> myStack = new Stack<int>();
  
        // Inserting the elements into the Stack
        myStack.Push(2);
        myStack.Push(3);
        myStack.Push(4);
        myStack.Push(5);
        myStack.Push(6);
  
        // Creating an Integer array arr
        int[] arr = new int[myStack.Count];
  
        // Copying the elements of stack into array arr
        myStack.CopyTo(arr, 0);
  
        // Displaying the elements in array arr
        foreach(int i in arr)
        {
            Console.WriteLine(i);
        }
    }
}
Producción:

6
5
4
3
2

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

Deja una respuesta

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