Sunday, 3 May 2015

How to use Stack in c# .Net ?

Stack 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.

The Stack class represents a last-in-first-out (LIFO) Stack of Objects. Stack follows the push-pop operations. That is we can Push (insert) Items into Stack and Pop (retrieve) it back . Stack is implemented as a circular buffer. It follows the Last In First Out (LIFO) system. That is we can push the items into a stack and get it in reverse order. Stack returns the last item first. As elements are added to a Stack, the capacity is automatically increased as required through reallocation.

Methos of Stack:-












Property of Stack:-





Source Code:-

using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleAppDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            stackOperations classObj = new stackOperations();
            while (true)
            {
               // Console.Clear();
                Console.WriteLine("\n");
                Console.WriteLine("1. Add an element");
                Console.WriteLine("2. See the Top element.");
                Console.WriteLine("3. Remove top element.");
                Console.WriteLine("4. Display stack elements.");
                Console.WriteLine("5. Exit");
                Console.Write("Select your choice: ");
                int choice = Convert.ToInt32(Console.ReadLine());
                switch (choice)
                {
                    case 1:
                        classObj.Push();
                        break;

                    case 2: classObj.Peek();
                        break;

                    case 3:  classObj.Pop();
                        break;
                    case 4: classObj.Display();
                        break;

                    case 5: System.Environment.Exit(1);
                        break;
                }
                Console.ReadKey();
            }
        }
    }

  
    class stackOperations
    {  
        string item;
        Stack stObj = new Stack();
       
        public bool isEmpty()
        {
            if (stObj.Count == 0) return true;

            return false;
        }

        public void Push()
        { 
           Console.Write("\nEnter a Item\n");
           item = Console.ReadLine();
           stObj.Push(item);
           Console.WriteLine("\nItem pushed successfully!");
           
        }

        public void Pop()
        {
            if (isEmpty())
            {
                Console.WriteLine("Stack is empty!");
            }
            else
            {
                stObj.Pop();
                Console.WriteLine("Removed Successfuly"); 
            }
        }
        public void Peek()
        {
            if (isEmpty())
            {
              Console.WriteLine("Stack is empty!");  
            }
            else
            {
                Console.Write("Top Item is: {0}", stObj.Peek());  
            }
         }

        public void Display()
        {
            if (isEmpty())
            {
                Console.WriteLine("Stack is empty!");
            }
            else
            {
                Console.Write("\nItems in Stack are: \n");
                foreach (string item in stObj)
                {
                    Console.Write(item);
                    Console.Write("\n");
                }
            }
        }

    }
}


Output:-








































No comments:

Post a Comment