Implementing Stack in C#
Stack is a linear data structure. It follows LIFO(Last In First Out) pattern for Input/output. Following three basic operations are performed in the stack:
- Push: Adds an item in the stack. If the stack is full, then it is said to be a stack Overflow condition.
- Pop: Removes an item from the stack. The items are popped in the reversed order in which they are pushed. If the stack is empty, then it is said to be a stack Underflow condition.
- Peek : Return the topmost element of stack.
Given below is the C# code to implement Stack using Arrays
using System;
namespace StackImplementation
{
internal class Stack
{
static readonly int MAX = 1000;
int top;
int[] stack = new int[MAX];
bool IsEmpty()
{
return (top < 0);
}
public Stack()
{
top = -1;
}
internal bool Push(int data)
{
if (top >= MAX)
{
Console.WriteLine("Stack Overflow");
return false;
}
else
{
stack[++top] = data;
return true;
}
}
internal int Pop()
{
if (top < 0)
{
Console.WriteLine("Stack Underflow");
return 0;
}
else
{
int value = stack[top--];
return value;
}
}
internal void Peek()
{
if (top < 0)
{
Console.WriteLine("Stack Underflow");
return;
}
else
Console.WriteLine("The topmost element of Stack is : {0}", stack[top]);
}
internal void PrintStack()
{
if (top < 0)
{
Console.WriteLine("Stack Underflow");
return;
}
else
{
Console.WriteLine("Items in the Stack are :");
for (int i = top; i >= 0; i--)
{
Console.WriteLine(stack[i]);
}
}
}
}
class Program
{
static void Main(string[] args)
{
Stack myStack = new Stack();
myStack.Push(10);
myStack.Push(20);
myStack.Push(30);
myStack.Push(40);
myStack.PrintStack();
myStack.Peek();
Console.WriteLine("Item popped from Stack : {0}", myStack.Pop());
myStack.PrintStack();
}
}
}
Output:
Items in the Stack are :
40
30
20
10
The topmost element of Stack is : 40
Item popped from Stack : 40
Items in the Stack are :
30
20
10
Stack is a linear data structure. It follows LIFO(Last In First Out) pattern for Input/output. Following three basic operations are performed in the stack:
- Push: Adds an item in the stack. If the stack is full, then it is said to be a stack Overflow condition.
- Pop: Removes an item from the stack. The items are popped in the reversed order in which they are pushed. If the stack is empty, then it is said to be a stack Underflow condition.
- Peek : Return the topmost element of stack.
Given below is the C# code to implement Stack using Arrays
using System;namespace StackImplementation{ internal class Stack { static readonly int MAX = 1000; int top; int[] stack = new int[MAX]; bool IsEmpty() { return (top < 0); } public Stack() { top = -1; } internal bool Push(int data) { if (top >= MAX) { Console.WriteLine("Stack Overflow"); return false; } else { stack[++top] = data; return true; } } internal int Pop() { if (top < 0) { Console.WriteLine("Stack Underflow"); return 0; } else { int value = stack[top--]; return value; } } internal void Peek() { if (top < 0) { Console.WriteLine("Stack Underflow"); return; } else Console.WriteLine("The topmost element of Stack is : {0}", stack[top]); } internal void PrintStack() { if (top < 0) { Console.WriteLine("Stack Underflow"); return; } else { Console.WriteLine("Items in the Stack are :"); for (int i = top; i >= 0; i--) { Console.WriteLine(stack[i]); } } } } class Program { static void Main(string[] args) { Stack myStack = new Stack(); myStack.Push(10); myStack.Push(20); myStack.Push(30); myStack.Push(40); myStack.PrintStack(); myStack.Peek(); Console.WriteLine("Item popped from Stack : {0}", myStack.Pop()); myStack.PrintStack(); } }} |
Output:
Items in the Stack are : 40 30 20 10 The topmost element of Stack is : 40 Item popped from Stack : 40 Items in the Stack are : 30 20 10
Stack is a linear data structure. It follows LIFO(Last In First Out) pattern for Input/output. Following three basic operations are performed in the stack:
- Push: Adds an item in the stack. If the stack is full, then it is said to be a stack Overflow condition.
- Pop: Removes an item from the stack. The items are popped in the reversed order in which they are pushed. If the stack is empty, then it is said to be a stack Underflow condition.
- Peek : Return the topmost element of stack.
Given below is the C# code to implement Stack using Arrays
using System;namespace StackImplementation{ internal class Stack { static readonly int MAX = 1000; int top; int[] stack = new int[MAX]; bool IsEmpty() { return (top < 0); } public Stack() { top = -1; } internal bool Push(int data) { if (top >= MAX) { Console.WriteLine("Stack Overflow"); return false; } else { stack[++top] = data; return true; } } internal int Pop() { if (top < 0) { Console.WriteLine("Stack Underflow"); return 0; } else { int value = stack[top--]; return value; } } internal void Peek() { if (top < 0) { Console.WriteLine("Stack Underflow"); return; } else Console.WriteLine("The topmost element of Stack is : {0}", stack[top]); } internal void PrintStack() { if (top < 0) { Console.WriteLine("Stack Underflow"); return; } else { Console.WriteLine("Items in the Stack are :"); for (int i = top; i >= 0; i--) { Console.WriteLine(stack[i]); } } } } class Program { static void Main(string[] args) { Stack myStack = new Stack(); myStack.Push(10); myStack.Push(20); myStack.Push(30); myStack.Push(40); myStack.PrintStack(); myStack.Peek(); Console.WriteLine("Item popped from Stack : {0}", myStack.Pop()); myStack.PrintStack(); } }} |
Output:
Items in the Stack are : 40 30 20 10 The topmost element of Stack is : 40 Item popped from Stack : 40 Items in the Stack are : 30 20 10
No comments:
Post a Comment