Wednesday, March 11, 2015

Java using Queue Implementation and stack program



Queue Implementation
 
import java.util.LinkedList;
class GenQueue 
{
   private LinkedList list = new LinkedList();
   public void enqueue(E item) 
   {
      list.addLast(item);
   }
   public E dequeue() 
   {
      return list.poll();
   }
   public boolean hasItems() 
   {
      return !list.isEmpty();
   }
   public int size() 
   {
      return list.size();
   }
   public void addItems(GenQueue q) 
   {
      while (q.hasItems())
         list.addLast(q.dequeue());
   }
}
public class GenQueueTest
  {
   public static void main(String[] args) 
    {
      GenQueue empList;
      empList = new GenQueue();
      GenQueue hList;
      hList = new GenQueue();
      hList.enqueue(new HourlyEmployee("T", "D"));
      hList.enqueue(new HourlyEmployee("G", "B"));
      hList.enqueue(new HourlyEmployee("F", "S"));
      empList.addItems(hList);
      System.out.println("The employees' names are:");
      while (empList.hasItems()) 
      {
         Employee emp = empList.dequeue();
         System.out.println(emp.firstName + " " 
         + emp.lastName);
      }
   }
}
class Employee 
  {
   public String lastName;
   public String firstName;
   public Employee(){}
   public Employee(String last, String first) 
   {
      this.lastName = last;
      this.firstName = first;
   }
   public String toString() 
    {
      return firstName + " " + lastName;
   }
}
class HourlyEmployee extends Employee 
 {
   public double hourlyRate;
   public HourlyEmployee(String last, String first) 
   {
      super(last, first);
   }
}
 
String reversal using stack
 
import java.io.IOException;
public class StringReverserThroughStack 
{
   private String input; 
   private String output;
   public StringReverserThroughStack(String in) 
   {
      input = in;
   }
   public String doRev() 
    {
      int stackSize = input.length(); 
      Stack theStack = new Stack(stackSize); 
      for (int i = 0; i < input.length(); i++) 
      {
         char ch = input.charAt(i); 
         theStack.push(ch); 
      }
      output = "";
      while (!theStack.isEmpty()) 
      {
         char ch = theStack.pop(); 
         output = output + ch; 
      }
      return output;
   }
   public static void main(String[] args)throws IOException 
    {
      String input = "Java Source and Support";
      String output;
      StringReverserThroughStack theReverser = 
      new StringReverserThroughStack(input);
      output = theReverser.doRev();
      System.out.println("Reversed: " + output);
   }
   class Stack
      {
      private int maxSize;
      private char[] stackArray;
      private int top;
      public Stack(int max) 
      {
         maxSize = max;
         stackArray = new char[maxSize];
         top = -1;
      }
      public void push(char j) 
      {
         stackArray[++top] = j;
      }
      public char pop() 
      {
         return stackArray[top--];
      }
      public char peek() 
      {
         return stackArray[top];
      }
      public boolean isEmpty() 
       {
         return (top == -1);
      }
   }
}

No comments:

Post a Comment