Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Using C# Write 2 classes that implement a stack with push, pop and peek operatio

ID: 3681579 • Letter: U

Question

Using C#

Write 2 classes that implement a stack with push, pop and peek operations. One should be called StackL and internally should store the data in a series of Nodes as a singly linked list. The other, StackO, can use a different data structure of your choice.

Write 2 classes that implement a queue with enqueue and dequeue operatons. One should be called QueueL and internally should store the data in a C# linked list. The other, QueueO, can use a different data structure of your choice.

Write a console application to determine the time required to perform the push/pop or queue/dequeue operations on your stacks and queues. Make an instance of a C# stack and a C# queue. Get the time required to push 10,000,000 values onto each stack and then get the time required to pop 10,000,000 values from each stack. Repeat the process using the queue and dequeue operations with the queues.

Explanation / Answer

/* c# program to implement stack with push and pop operations */

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

stak sst=new stak();

while(true)

{

Console.Clear();

Console.WriteLine(" Stack Menu(size -- 10)");

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.Write("select yourchoice:");

int choice=Convert.ToInt32(Console.ReadLine());

switch(choice)

{

case 1 :

Console.WriteLine("enter an element:");

st.Push(Console.ReadLine());

break;

case 2 :

Console.WriteLine("top element is :{0}",st.Peek());

break;

case 3:

Console.WriteLine("element removed : {0} ",st.Pop());

break;

case 4 : st.Display();

break;

case 5: System.Environment.Exit(1);

break;

}

console.ReadKey();

}

}

}

interface StackADT

{

Boolean isEmpty();

void Push(Object element);

Object Pop();

Object Peek();

void Display();

}

class stack : StackADT

{

private int StackSize;

public int StackSizeSet

{

get { return StackSize;}

set { StackSize=value;}

}

public int top;

object[] item;

public stack()

{

StackSizeSet=10;

item=new Object[StackSizeSet];

top=-1;

}

public stack(int capacity)

{

StackSizeSet=capacity;

item=new Object[StackSizeSet];

top=-1;

}

public bool isEmpty()

{

if(top==-1) return ture;

return false;

}

public void Push(object element)

{

if(top==(StackSize - 1))

{

Console.WriteLine(:Stack is full");

}

else

{

item[++top]=element;

Console.WriteLine("item pushed successfully");

}

}

public object Pop()

{

if (isEmpty())

{

Console.WrilteLine("Stack is empty");

return "No Elements";

}

else

{

return item[top--];

}

}

public object Peek()

{

if(isEmpty())

{

Console.WriteLine("stack is empty:);

return " no elements;

}

else

{

return items[top];

}

}

public void Display()

{

for ( int i=top;i>-1;i--)

{

console.WriteLine("item {0} : (i+1),item[i]);

}

}

}

}

2) for enqueue and dequeue:

using System;

using System.Collections;

using System.Windows.Forms;

namespace WindowApplication1

{

public partial class Form1:Form

{

public Form1()

{

InitializeComponent();

{

private void button_Click(object sender,EventArgs e)

{

private void button1_click(object sender,EventArgs e)

{

Queue days=new Queue();

days.Enqueue("Sunday");

days.Enqueue("Monday");

days.Enqueue("Tuesday:);

days.Enqueue("webnesday");

days.Enqueue("lThursday");

days.Enqueue("Friday");

dayslEnqueue("Saturday");

MessageBox.Show( days.Dequeue().ToString());

if(days.Contains("Monday");

{

Message.Show("the queue contains Monday"));

}

else

{

MessageBoxlshow("does not match any entries");

}

}

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote