In: Biology
Use the Heap class provided to implement a sort routine in a Main class where the user enters a series of values, each value is then pushed onto a heap, then the values are printed out in ascending order.
public class Heap {
        public static final int SIZE = 1025;
        
        public Heap() {
                elt = new Element[SIZE];
                lastLoc = 0;
        }
        
        public void push(String k, Object o) {
                if (!fullCheck()) {
                        lastLoc++;
                        elt[lastLoc] = new Element(k,o);
                        int loc = lastLoc;
                        while (loc > 1 && elt[loc].key.compareTo(elt[loc/2].key) < 0) {
                                Element hold = elt[loc];
                                elt[loc] = elt[loc/2];
                                elt[loc/2] = hold;
                                loc = loc/2;
                        }
                }
        }       
        public void pop() {
                if (!emptyCheck()) {
                        elt[1] = elt[lastLoc];
                        lastLoc--;
                        int loc = 1;
                        while (2*loc <= lastLoc) {
                                loc = 2*loc;
                                if (loc < lastLoc && elt[loc +1].key.compareTo(elt[loc].key) < 0) loc=loc+1;
                                if (elt[loc].key.compareTo(elt[loc/2].key) < 0) {
                                        Element hold = elt[loc/2];
                                        elt[loc/2] = elt[loc];
                                        elt[loc] = hold;
                                }
                        }
                }
        }               
        
        public Object top() {
                return elt[1].payload;
        }
        public Object topKey() {
                return elt[1].key;
        }
        public boolean emptyCheck() {
                return (lastLoc == 0);
        }
        
        public boolean fullCheck() {
                return (lastLoc == SIZE-1);
        }
        
        
        private Element[] elt;
        private int lastLoc;
}
public class Element {
        public Element(String s) {
                key = s;
                payload = null;
        }
public Element(String s, Object obj) {
                key = s;
                payload = obj;
        }
        public String key;
        public Object payload;
}
*******hope it will help you*************
import java.util.*;
class SortStack
{
   public static Stack<Integer>
sortstack(Stack<Integer>
          
           
           
        input)
   {
       Stack<Integer> tmpStack = new
Stack<Integer>();
       while(!input.isEmpty())
       {
  
           int tmp =
input.pop();
      
          
while(!tmpStack.isEmpty() && tmpStack.peek()
          
           
           
            <
tmp)
           {
  
          
input.push(tmpStack.pop());
           }
          
  
          
tmpStack.push(tmp);
       }
       return tmpStack;
   }
  
   public static void main(String args[])
   {
       Stack<Integer> input = new
Stack<Integer>();
       input.add(34);
       input.add(3);
       input.add(31);
       input.add(98);
       input.add(92);
       input.add(23);
  
  
       Stack<Integer>
tmpStack=sortstack(input);
       System.out.println("Sorted numbers
are:");
  
       while (!tmpStack.empty())
       {
          
System.out.print(tmpStack.pop()+" ");
       }
   }
}