C# | Copy the Stack to an Array (original) (raw)
Last Updated : 01 Feb, 2019
Stack.CopyTo(T[], Int32) Method is used to copy the Stack to an existing 1-D Array which starts from the specified array index.Properties:
- The capacity of a Stackis the number of elements the Stack can hold. As elements are added to a Stack , the capacity is automatically increased as required through reallocation.
- If Count is less than the capacity of the Stack , Push is an O(1) operation. If the capacity needs to be increased to accommodate the new element, Push becomes an O(n) operation, where n is Count. Pop is an O(1) operation.
- Stack accepts null as a valid value and allows duplicate elements.
Syntax:
public void CopyTo (T[] array, int arrayIndex);
Parameters:
array: The one-dimensional Array that is the destination of the elements copied from Stack<**T**>. The Array must have zero-based indexing.arrayIndex: The zero-based index in array at which copying begins.
Exceptions:
- ArgumentNullException : If an array is null.
- ArgumentOutOfRangeException : If the arrayIndex is less than zero.
- ArgumentException : The number of elements in the source Stack<**T**> is greater than the available space from arrayIndex to the end of the destination array.
Below given are some examples to understand the implementation in a better way:Example 1:
CSHARP `
// 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);
}
}
}
`
Output:
GeeksforGeeks Data Structures Noida Geeks Classes Geeks
Example 2:
CSHARP `
// 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);
}
}
}
`
Reference:
Similar Reads
- C# | Convert Stack to array Stack represents a last-in, first out collection of object. It is used when you need a last-in, first-out access of items. When you add an item in the list, it is called pushing the item and when you remove it, it is called popping the item. Stack.ToArray Method is used to copy a Stack<T 2 min read
- C# | How to create a Stack Stack() constructor is used to initialize a new instance of the Stack class which will be empty and will have the default initial capacity. Stack represents a last-in, first out collection of object. It is used when you need last-in, first-out access to items. When you add an item in the list, it is 2 min read
- Pointer to an Array | Array Pointer A pointer to an array is a pointer that points to the whole array instead of the first element of the array. It considers the whole array as a single unit instead of it being a collection of given elements.Example:C #include<stdio.h> int main() { int arr[5] = { 1, 2, 3, 4, 5 }; int *ptr = arr; 5 min read
- stack top() in C++ STL In C++, the std::stack::top() is used to find the top element of the std::stack container. It is a member function of std::stack class defined inside the header file. In this article, we will learn how to find the top element of stack using stack::top() in C++.Example:C++#include <b 2 min read
- stack::push() and stack::pop() in C++ STL The stack::push() and stack::pop() method in stack container is used to insert and delete the element from the top of stack. They are the member functions of std::stack container defined inside header file. In this article, we will learn how to use stack::push() and stack::pop() method 2 min read
- C# | Insert an object at the top of the Stack - Push Operation Stack represents a last-in, first out collection of object. It is used when you need a last-in, first-out access of items. When you add an item in the list, it is called pushing the item and when you remove it, it is called popping the item. Stack.Push(T) Method is used to inserts an object 2 min read
- stack empty() and stack size() in C++ STL The std::stack::size() and std::stack::empty() in C++ are built-in functions that are used to provide information about the size of the stack. They are the member functions of the std::stack container defined inside header file.stack::empty()The stack::empty() method is used to check w 2 min read
- C# | Remove all objects from the Stack Stack represents a last-in, first out collection of object. It is used when you need a last-in, first-out access to items. When you add an item in the list, it is called pushing the item and when you remove it, it is called popping the item. Stack.Clear Method is used to Removes all objects 3 min read
- C# | Get object at the top of the Stack - Peek operation Stack represents a last-in, first out collection of object. It is used when you need a last-in, first-out access to items. When you add an item in the list, it is called pushing the item and when you remove it, it is called popping the item. Stack.Peek Method is used to returns the object a 3 min read
- C# Stack with Examples In C# a Stack is a Collection that follows the Last-In-First-Out (LIFO) principle. It is used when we need last-in, first-out access to items. In C# there are both generic and non-generic types of Stacks. The generic stack is in the System.Collections.Generic namespace, while the non-generic stack i 6 min read